【发布时间】:2013-09-03 11:49:18
【问题描述】:
我的linux(centos) system.first 应用程序完成了处理和第二个应用程序 CONTROLS 第一个应用程序。
控制含义(对从 2nd app 发起的 1st application 执行操作):
- 开始
- 停止
- 重新开始
我的第一个应用程序在静态端口 10001 上运行
如何从我的第二个应用程序执行这些操作?我发现这篇文章让我更加接近。
https://stackoverflow.com/a/14340719/1169180 & https://stackoverflow.com/a/138098/1169180
如何获取在端口 (10001) 上运行的应用程序的 PID ?
代码:- eSocketServer.jar 是我的第一个应用程序 jar 文件
Process p = Runtime.getRuntime().exec(
"ps -ef | grep eSocketServer.jar | awk '{print $2}'");
BufferedReader br = new BufferedReader(new InputStreamReader(
p.getInputStream()));
while ((br.readLine()) != null)
System.out.println("line: " + br.readLine());
p.waitFor();
System.out.println("exit: " + p.exitValue());
p.destroy();
当shell提示符ps -ef | grep eSocketServer.jar | awk '{print $2}'执行相同的命令时,它没有给我任何输出
【问题讨论】:
-
为什么要投反对票?任何cmets?