使用 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版本是否正确解释它。