快速运行shell命令的方法

时间:2012-06-28 16:48:19

标签: java shell exec

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

1 个答案:

答案 0 :(得分:1)

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

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

如果您use ps parameters按名称或用户或群组选择正确的流程,则可以使运行成本更低。

相关问题