1

使用 Mac,计算我正在运行的特定进程的实例数的最佳方法是什么?这是我正在编写的一个脚本,用于查找ffmpeg我的机器上运行的进程数。

我应该在这里使用top吗?ps aux|grep ffmpeg? 获得号码的最佳方法是什么?

4

5 回答 5

4

grep -c 将计算出现次数:

count=`ps aux | grep -v "grep" | grep -c ffmpeg`
echo $count
于 2012-02-28T01:03:02.103 回答
3

ps aux | grep ffmpeg | wc -l将为您提供提及短语“ffmpeg”的进程数,您需要在该值上减去 1,因为ps aux | grep ffmpg进程也是如此。

于 2012-02-28T01:02:44.693 回答
1

您正在寻找名为“wc”的程序——“wc -l”将为您计算行数。

“男人厕所”了解详情。

于 2012-02-28T01:01:03.133 回答
1

您可以在 Mac 上尝试killall命令:

$ killall -s ffmpg
kill -TERM 20148
kill -TERM 20146
kill -TERM 20140

-s意味着只是列出你会做什么,但实际上并没有杀死任何进程。将它通过管道传输到wc,你应该得到你的结果:

$ killall -s ffmpg | wc -l
3

在 shell 脚本中,您可以执行以下操作:

num_of_processes=$(killall -s ffmpg | wc -l)
于 2012-02-28T03:47:58.900 回答
1

pgrep

$ pgrep -c ffmpeg

如果您不使用pgrep,那么仅仅grep可能会产生误报。

为避免这种情况,您可以尝试-C以下选项:

$ ps -C ffmpeg -o pid= | wc -l

检查您的ps版本是否正确解释它。

于 2012-02-28T04:25:59.397 回答