0

我正在开发一个 Java 程序,它应该尽快重复杀死两个进程,因为它们在被杀死时会不断重启。当然,它不应该使用太多的 CPU 时间。我在 python 中编写了几乎相同的程序,它使用大约 5% 的 CPU 运行良好。
我开始使用Runtime.execwith"ps -ax"列出所有正在运行的进程,然后在字符串中搜索不需要的进程的名称,然后运行 ​​exec with"killall -9" + process_name来杀死它。这只是我能想到的第一种方式,任何想法都会受到赞赏。
但是当我执行代码时,我的计算机一直运行很热,经过一些计时测试后,我发现该exec命令需要大约 15 到 25 毫秒。现在为什么要花这么长时间,有没有更快的方法来完成这项工作?
顺便说一句,我使用 mac os 并且不在乎解决方案是否与平台无关。

4

1 回答 1

1

我同意 Java 绝对不是这项工作的正确工具。我也同意其他人的观点,首先这似乎是一件非常愚蠢的事情。如果是我,我会专注于让守护进程不运行。

我只想编写一个 bash 脚本,它具有您需要的所有功能,并且可以节省一些进程创建时间。您可以将 ps 的输出输入 grep 以获取您需要消除的进程,然后将其传递给 kill。

如果您使用 ps 参数按名称或用户或组选择正确的进程,则可以降低运行成本。

于 2012-06-28T17:43:26.803 回答