当我未启动的进程结束时,如何通知我?它们是恢复其退出代码和/或输出的方法吗?执行监视的进程将以 root/管理员身份运行。
您可以通过调用列出所有当前进程并解析输出的 shell 命令来检查进程当前是否正在从 java 运行。在linux/unix/mac os下命令是ps,windows下是tasklist.
对于 ps 版本,您需要执行以下操作:
ProcessBuilder pb = new ProcessBuilder("ps", "-A");
Process p = pb.start();
BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));
// Skip first (header) line: " PID TTY TIME CMD"
in.readLine();
// Extract process IDs from lines of output
// e.g. " 146 ? 00:03:45 pdflush"
List<String> runningProcessIds = new ArrayList<String>();
for (String line = in.readLine(); line != null; line = in.readLine()) {
runningProcessIds.add(line.trim().split("\\s+")[0]);
}
我不知道有什么方法可以捕获退出代码或输出。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)