我在我的机器和其他一些ruby进程上运行了几个ruby脚本。我能用top来区分它们的唯一方法是做top -c(所以我可以看到命令,否则一切都只是' ruby')。
我希望能够观察正在运行的脚本数量,以便在失败时重新启动它们。
我想我可以使用top -c -n 1 | grep "script-name"
执行此操作,但我无法弄清楚如何tail -f
该命令或者该命令是否是最好的方法。
答案 0 :(得分:0)
我认为top
这不是最好的选择,因为它是一个交互式命令,你不能真正管道它的整个输出(可能有一种方法)。其中一个足够公平的方法就是使用ps
:
ps -e -o pid,cmd | grep "script-name"
如果您想定期对此进行调查,您还可以使用watch
:
watch 'ps -e -o pid,cmd | grep "script-name"'
一般来说,grep ps
输出是一种不好的做法,但我认为在你的情况下会有效。如果您只想要与模式匹配的正在运行的进程数,或者您只想要它们的PID,那么最好使用pgrep
。
pgrep "script-name"