[英]How to check if a process is running on a client's computer (on server-side)? [Java]
那么,如何检查进程是否正在Java中运行?
我正在运行一些游戏的私人服务器...
我得到了播放器的IP以及他们用来连接的端口。
提前致谢。
编辑:
我正在使用Windows 7,再次,我需要获取客户端的进程信息
然后确定该进程是否正在运行,而不是服务器的计算机
进程..:/
有任何想法吗?? :(
您可以使用
Process proc = Runtime.getRuntime().exec("ps -e");
然后使用proc.getInputStream()读取命令的输出。
顺便说一句,上面的命令是针对Linux的
对于Windows,我相信命令是“任务列表”
您可以使用wmic实用程序来检查正在运行的进程的列表。 假设您要检查Windows的explorer.exe进程是否正在运行:
String line;
try {
Process proc = Runtime.getRuntime().exec("wmic.exe");
BufferedReader input = new BufferedReader(new InputStreamReader(proc.getInputStream()));
OutputStreamWriter oStream = new OutputStreamWriter(proc.getOutputStream());
oStream .write("process where name='explorer.exe'");
oStream .flush();
oStream .close();
while ((line = input.readLine()) != null) {
System.out.println(line);
}
input.close();
} catch (IOException ioe) {
ioe.printStackTrace();
}
请参阅http://ss64.com/nt/wmic.html或http://support.microsoft.com/servicedesks/webcasts/wc072402/listofsampleusage.asp,以获取可从wmic获得的一些示例...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.