我有两个进程的名称相同,但是PID不同。我需要找到这两个进程中PID最小的进程并将其终止。如何实现?
我有两个进程的名称相同,但是PID不同。我需要找到这两个进程中PID最小的进程并将其终止。如何实现?
pidof bash | grep -o "[0-9]*" | sort -n | sed '1q'
或者
pidof bash | tr -s " " "\n" | sort -n | sed '1q'
Unix,或者一个带有/proc目录的*nix系统?
如果你有/proc支持,可以通过解析/proc/[0-9]+/cmdline来查找命令与你所寻找的相匹配的进程;目录名(在/proc之后)就是进程的id。
opendir()和readdir()将是你遍历目录的工具。
如果你没有/proc支持,你可以使用popen("ps -options here", "r");来读取ps的输出(根据你的系统选择合适的选项),然后解析进程列表。