我使用run-one命令运行test.sh ,并确保一次只运行一个实例。 test.sh有时使用以下命令启动另一个名为execute.sh长时间运行的脚本: setsid execute.sh >/dev/null 2>&1 < /dev/null & (具有正确的path),并且test.sh退出。
问题在于,出于某种原因,run-one继续认为test.sh仍在运行,只是因为execute.sh仍在运行。 我如何防止?
难道你不能使用一个锁文件(例如/var/lock/subsys/test ),然后在脚本的开始处创build一个锁文件并运行,如果文件存在则退出? 听起来比尝试在使用子壳等时将所有内容包含在另一个命令中更简单。
那么在脚本的末尾,你只需要删除locking文件?