繁体   English   中英

如何检查进程是否在客户端计算机上(在服务器端)运行? [Java]

[英]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.htmlhttp://support.microsoft.com/servicedesks/webcasts/wc072402/listofsampleusage.asp,以获取可从wmic获得的一些示例...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM