如何检查存在的文件并执行命令?
我有一个使用Python编写的守护进程。 运行时,它有一个位于/tmp/filename.pid的PID文件。 如果守护进程没有运行,则PID文件不存在。
在Linux上,如何检查以确保PID文件存在,如果不存在,执行命令重新启动它?
该命令将是
python daemon.py restart
必须从特定目录执行。
[ -f /tmp/filename.pid ] || python daemon.py restart
-f
检查给定的路径是否存在并且是一个常规文件(只是-e
检查路径是否存在)
[]
执行测试,成功返回0
,否则返回1
||
是C形or
,因此,如果左侧的命令失败,在右侧执行该命令。
所以最后的声明说,如果/tmp/filename.pid
不存在,那么启动守护进程。
如果是bash脚本编制,你会想知道,像这样的东西可以工作:
if [ ! -f "$FILENAME" ]; then
python daemon.py restart
fi
更好的选择可能是查看lockfile
其他答案很适合检测文件的存在。 然而,对于一个完整的解决方案,您可能应该检查PID文件中的PID是否仍在运行,并且它是您的程序。
链接地址: http://www.djcxy.com/p/24135.html上一篇: How can I check a file exists and execute a command if not?
下一篇: bash if