我正在查看Run cron job only if it isn't already running的解决方案,以便将其应用于我遇到的类似问题,但我无法理解
ps -u $USER -f | grep "[ ]$(cat ${PIDFILE})[ ]"'
似乎是在说'psnumber'来检查每行的结尾,但是当我查看我的ps输出时,PIDnumber在第二列。我将第一个$解释为正则表达式check_end_of_line选项。
答案 0 :(得分:1)
$(stuff)
将执行“stuff”(在本例中为cat ${PIDFILE}
)
假设PIDFILE是文件的路径,因此整行基本上是在ps输出中查找包含“pid文件”内容的任何行([ ]
在每一侧添加一些空格如果pid文件包含'888',它将不匹配ps输出中的'8888')