检查进程是否正在运行,如果没有启动,最优雅的方法是什么?

ape*_*son 8 bash

我一直在用各种方法在 bash 中搞砸,我发现pgrep program > /dev/null || program这是最短/最优雅的方法。还有比这更好的方法吗?

rap*_*ink 9

使用pgrep,您可能会匹配其他程序,而不仅仅是您的程序。如果您想确保匹配正确的程序,请pidof改用。

您还可以使用start-stop-daemonPID 文件。start-stop-daemon将检查程序是否正在运行并在需要时启动它。这是大多数初始化脚本中使用的内容。