JAVA版进程管理器
ProcessViewer.java 类,负责界面实现
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.ListSelectionModel;public class ProcessViewer extends JFrame{private BorderLayout borderlayout = new BorderLayout();private FlowLayout flowlayout = new FlowLayout(FlowLayout.RIGHT);private JPanel jpl = new JPanel();private JPanel jplbutton = new JPanel();private JTable jtable;private JButton jbutton;private JButton jbutton2;private JScrollPane jscrollPane;public ProcessViewer(){TaskList tasklist = new TaskList();tasklist.init();jtable = new JTable(tasklist.result,tasklist.title);jtable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);jscrollPane = new JScrollPane(jtable);jbutton = new JButton("结束进程");jbutton.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {String process = (String) jtable.getValueAt(jtable.getSelectedRow(), 0);try {Runtime.getRuntime().exec("taskkill /f /im "+process);} catch (IOException e1) {e1.printStackTrace();}tasklist.init();jtable.updateUI();jpl.repaint();System.out.println(process);} });jbutton2 = new JButton("刷新进程");jbutton2.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {tasklist.init();jtable.updateUI();jpl.repaint();} });jpl.setLayout(borderlayout);jpl.add(jscrollPane);jplbutton.setLayout(flowlayout);jplbutton.add(jbutton2);jplbutton.add(jbutton);this.pack();this.setTitle("进程管理器");this.add(jpl,BorderLayout.CENTER);this.add(jplbutton,BorderLayout.SOUTH);this.setBounds(400, 200, 600, 400);this.setVisible(true);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}public static void main(String[] args) {new ProcessViewer();}}
TaskList.java 类,负责调用系统进程并生成相应格式
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;public class TaskList {public BufferedReader br=null;public String [][] result=new String[100][5];public String [] title={"映像名称","PID","会话名","会话#","内存使用"};public void init(){Process proc;try {proc = Runtime.getRuntime().exec("tasklist /NH /FO csv");br=new BufferedReader(new InputStreamReader(proc.getInputStream())); String res=null;int x = 0;while((res=br.readLine())!=null){ String[] value=res.replace("\",\"", ";").replace("\"", "").split(";");if(value.length==5){for(int i = 0;i<5;i++){ result[x][i] = value[i];}}x++;if(x==100)break;}} catch (IOException e) {e.printStackTrace();} }
}
JAVA版进程管理器相关推荐
- java实现进程管理,Java调用批处理或可执行文件和Runtime、Process类实现Java版进程管理器...
Java调用批处理或可执行文件 用Java编写应用时,有时需要在程序中调用另一个现成的可执行程序或系统命令,这时可以通过组合使用Java提供的Runtime类和Process类的方法实现.下面是一种比 ...
- 仿微软进程管理器+仿Cff explorer 进程PE查看软件
这个软件是仿微软的进程管理器 结合 仿CFF Explorer pe查看工具,可以直接点击进程列表中的进程查看对应的pe结构,动手开始做才发现写练习的demo和做项目还是有很大区别的,遇到了很多问题, ...
- Java Swing布局管理器(详解版)
在使用 Swing 向容器添加组件时,需要考虑组件的位置和大小.如果不使用布局管理器,则需要先在纸上画好各个组件的位置并计算组件间的距离,再向容器中添加.这样虽然能够灵活控制组件的位置,实现却非常麻烦 ...
- Process Hacker(进程管理器) v3.0.2581绿色版便携版
点击下载来源:Process Hacker(进程管理器) v3.0.2581绿色版便携版 Process Hacker是一款免费开源的统进程管理和内存编辑器,它不仅能够帮助你查看管理进程,同时也能进行 ...
- android高版本软件管理器,进程管理器 高级版
进程管理器是一款手机内存清理和进程管理的系统工具软件:它可以使你更加方便的切换和关闭正在运行的程序. 功能: 1.通知栏一键终止任务/进程: 2.忽略任务/进程设置: 3.任务/进程负载.内存.CPU ...
- learn.log - 进程管理器fastcgi原理及fastcgi_param详解
一. 何为FastCGI? in all : 快-不崩溃-优雅 fast-strong-high FastCGI官方站点:http://www.fastcgi.com.common gateway ...
- [转]内存与进程管理器
内存与进程管理器 ========================== But I fear tomorrow I'll be crying, ...
- windows进程管理器_面向Windows,Linux,Mac ,安卓, 木马,密码破解内存提取基于KPCR结构的技术研究...
Windows内存分析原理 内存镜像存储的是二进制数据,内存取证分析的任务就是从这些貌似毫无意义的二进制数据中找到系统的运行信息.这些二进制数据从根本上说,其来源都是操作系统的内存分配.为何分配.如何 ...
- 02-QNX 进程管理器(转)
1.简介 进程管理器可用于创建多个POSIX进程(每个进程可能包含多个POSIX线程).在QNX Neutrino中,微内核与进程管理器一起组成procnto模块,所有运行时系统都需要这个模块.它的主 ...
最新文章
- GTX 1080Ti + cuda8.0 + cuDNN6.0 安装及测试
- .net core 程序退出事件
- java dbtype_Java实现数据库的读写分离
- linux复制duo文件,自动生成Linux下Makefile全攻略(转)
- 程序员如何克服焦虑?
- Python学习笔记——time模块和datatime模块【时间处理】
- c语言for要分号错误,c语言for语句
- linux之nm命令
- 团队作业-第二周-测试计划
- 哈夫曼(Huffman)编码问题(C++)
- 从Android界面开发谈起
- SQL Server将一列的多行内容拼接成一行的实现方法
- win10连接mysql服务器频繁断线_MySQL连接数过多导致服务无法正常运行
- 【POJ2826】An Easy Problem?!(线段相交+分情况讨论+精度)
- 大创人人有,我怎么才能拿到国家级?
- 新浪博客的html,新浪博客代码-HTML代码
- 基于Element UI Calendar实现日程提醒功能
- linux swap交换分区
- [js常用积累] js正则表达式验证手机号和数字验证码
- 【uniApp 接入萤石云】
热门文章
- Windows下QtCreator不能切换中文输入法
- [C++]打包传输结构体或大内存块的四种办法(完全版)
- 【Unity3D自学记录】failed to update unity web player解决办法。
- 滴滴陶文:我眼中的技术深度
- 紫光PDS安装过程记录
- majordomo邮件列表快速安装指南
- 核磁软件linux,Mestrelab Research Mnova
- 商圈生产展示数据体系购物圈居住圈工作圈POI商圈
- C/C++ 中的逗号运算符
- CocosCreator之控制游戏触点数量