Ejemplo n.º 1
0
        private void timerCpu_Tick(object sender, EventArgs e)
        {
            ScanProcesses();
            List <ListViewItem> removeList = new List <ListViewItem>();

            foreach (ListViewItem item in listViewJavaProcesses.Items)
            {
                try
                {
                    JavaProcess jp = item.Tag as JavaProcess;
                    if (jp.Process.HasExited)
                    {
                        removeList.Add(item);
                    }
                    else
                    {
                        jp.Process.Refresh();
                        item.SubItems[COL_CPU].Text          = $"{jp.CpuPTotalRel} %";
                        item.SubItems[COL_PRIVATEBYTES].Text = $"{jp.Process.WorkingSet64:n0}";
                        item.SubItems[COL_THREAD].Text       = $"{jp.Process.Threads.Count:n0}";
                    }
                }
                catch (Exception ex)
                {
                    item.SubItems[COL_ARGS].Text = "run log4jDigger as Administrator: " + ex.Message;
                }
            }

            foreach (ListViewItem item in removeList)
            {
                listViewJavaProcesses.Items.Remove(item);
            }
        }
Ejemplo n.º 2
0
 private void openWithJConsoleToolStripMenuItem_Click(object sender, EventArgs e)
 {
     if (listViewJavaProcesses.SelectedItems.Count > 0)
     {
         String appPath = FindApplication("jconsole.exe");
         if (appPath != null)
         {
             JavaProcess      jp = listViewJavaProcesses.SelectedItems[0].Tag as JavaProcess;
             ProcessStartInfo si = new ProcessStartInfo(appPath, jp.Process.Id.ToString());
             // si.Verb = "runas";
             Process.Start(si);
         }
     }
 }
Ejemplo n.º 3
0
        private void AddNewProcess(Process p)
        {
            JavaProcess  jp   = new JavaProcess(p);
            ListViewItem item = new ListViewItem();

            item.Tag  = jp;
            item.Text = jp.Process.Id.ToString();

            ListViewSubItem sItemName = new ListViewSubItem();

            sItemName.Text = jp.Process.ProcessName;
            item.SubItems.Add(sItemName);

            ListViewSubItem sItemStartTime = new ListViewSubItem();

            try
            {
                sItemStartTime.Text = jp.Process.StartTime.ToString("dd.MM.yy HH:mm:ss");
            }
            catch (Exception ex)
            {
                sItemStartTime.Text = "no access";
            }
            item.SubItems.Add(sItemStartTime);

            ListViewSubItem sItemBytes = new ListViewSubItem();

            sItemBytes.Text = $"{jp.Process.WorkingSet64:n0}";
            item.SubItems.Add(sItemBytes);

            ListViewSubItem sItemThreads = new ListViewSubItem();

            sItemThreads.Text = $"{jp.Process.Threads.Count:n0}";
            item.SubItems.Add(sItemThreads);

            ListViewSubItem sItemCpu = new ListViewSubItem();

            sItemCpu.Text = $"-";
            item.SubItems.Add(sItemCpu);

            ListViewSubItem sItemArgs = new ListViewSubItem();

            sItemArgs.Text = jp.CommandLine;
            item.SubItems.Add(sItemArgs);

            listViewJavaProcesses.Items.Add(item);
        }
Ejemplo n.º 4
0
 public void ScanProcesses()
 {
     foreach (Process p in Process.GetProcessesByName("java").Union(Process.GetProcessesByName("javaw").Union(Process.GetProcessesByName("tomcat9"))))
     {
         ListViewItem item = listViewJavaProcesses.Items.Cast <ListViewItem>().FirstOrDefault(x => x.Text == p.Id.ToString());
         if (item == null)
         {
             AddNewProcess(p);
         }
         else
         {
             JavaProcess jp = item.Tag as JavaProcess;
             jp.ScanCpu();
         }
     }
     timerCpu.Enabled = true;
 }
Ejemplo n.º 5
0
 private void contextMenuStripProcess_Opening(object sender, CancelEventArgs e)
 {
     if (listViewJavaProcesses.SelectedItems.Count > 0)
     {
         openFolderToolStripMenuItem.DropDownItems.Clear();
         JavaProcess jp = (JavaProcess)listViewJavaProcesses.SelectedItems[0].Tag;
         if (jp.Paths != null)
         {
             foreach (String path in jp.Paths)
             {
                 ToolStripMenuItem menuItem = new ToolStripMenuItem();
                 menuItem.Text   = path;
                 menuItem.Click += MenuItem_Click;
                 openFolderToolStripMenuItem.DropDownItems.Add(menuItem);
             }
         }
     }
 }
Ejemplo n.º 6
0
 private void enviromentToClipoardToolStripMenuItem_Click(object sender, EventArgs e)
 {
     if (listViewJavaProcesses.SelectedItems.Count > 0)
     {
         StringBuilder sb = new StringBuilder();
         JavaProcess   jp = listViewJavaProcesses.SelectedItems[0].Tag as JavaProcess;
         if (jp.Process.StartInfo.Environment != null)
         {
             foreach (KeyValuePair <String, String> kv in jp.Process.StartInfo.Environment.OrderBy(x => x.Key))
             {
                 sb.AppendLine($"{kv.Key}: {kv.Value}");
             }
         }
         if (sb.Length > 0)
         {
             Clipboard.SetText(sb.ToString());
         }
     }
 }