我继承了一个脚本,该脚本试图通过执行ps来检测LSF守护进程是否正在运行,然后对大量的内容进行预测。我认为这很容易出错,我正在寻找更好的方法。到目前为止,我发现的最好的是LSF命令lsid,但这只是指示是否安装了LSF,并没有真正告诉我事情已经启动和运行。除了提交一份工作,还有谁有更好的主意吗?这需要与Linux & Solaris一起工作。
发布于 2013-06-18 08:50:18
一般情况下
在Linux/Unix上了解某个进程是否正在运行的唯一安全方法是使用pidfile方法。
这意味着:
lsf.pid (这类文件似乎是此类文件的约定)。这种方法的主要好处是您可以执行ps -p <pidno>。这是确定进程是否正在运行的唯一安全方法。而且,ps -p命令在Linux/Unix版本之间是可移植的,这与您可以找到的许多其他内容不同。
总之:是的,您可以在ps命令的各种形式的输出上使用grep‘’ing的方法,但是它永远不会是一个安全的方法,而且很难使它真正可移植。咬紧牙关,使用pidfile方法。
您的守护进程实际上应该在SMF下运行。
这解决了您所有的问题(您不需要上面描述的一般方法),同时它还提供了:
sudo )。https://serverfault.com/questions/515270
复制相似问题