使用 Mac,计算我正在运行的特定进程的实例数的最佳方法是什么?这是我正在编写的一个脚本,用于查找ffmpeg
我的机器上运行的进程数。
我应该在这里使用top
吗?ps aux|grep ffmpeg
? 获得号码的最佳方法是什么?
使用 Mac,计算我正在运行的特定进程的实例数的最佳方法是什么?这是我正在编写的一个脚本,用于查找ffmpeg
我的机器上运行的进程数。
我应该在这里使用top
吗?ps aux|grep ffmpeg
? 获得号码的最佳方法是什么?
grep -c 将计算出现次数:
count=`ps aux | grep -v "grep" | grep -c ffmpeg`
echo $count
ps aux | grep ffmpeg | wc -l
将为您提供提及短语“ffmpeg”的进程数,您需要在该值上减去 1,因为ps aux | grep ffmpg
进程也是如此。
您正在寻找名为“wc”的程序——“wc -l”将为您计算行数。
“男人厕所”了解详情。
您可以在 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)
$ pgrep -c ffmpeg
如果您不使用pgrep
,那么仅仅grep
可能会产生误报。
为避免这种情况,您可以尝试-C
以下选项:
$ ps -C ffmpeg -o pid= | wc -l
检查您的ps
版本是否正确解释它。