我使用的是Ubuntu。我有两个bash脚本文件。两者将并行运行。现在我想在另一个文件上持续监视它是否正在运行。
那么,有什么方法可以发现文件当前是否正在执行呢?
有很多可能性,这是一个创造力的问题。。。
一些建议:
- 定期轮询进程列表,并按名称或进程id进行筛选
- 用控制套接字启动脚本,只要套接字打开,脚本就会运行
- 在文件系统中使用通常的锁定策略
- 让脚本在常规基础上做一个生命节拍,然后观看该生命节拍
- 在一系列命令中启动脚本,一旦脚本存在,调用shell就会执行下一个命令。这可能是一个通知脚本或其他什么
- 让脚本在你的桌面上摆动一下,然后自己看
- 使用
nohup
启动它并监视日志文件 - 在脚本中实现一个deamon,并定期进行连接
- 从脚本中打开一个文件,并使用
fuser
系统调用监视文件系统 - 监控脚本定期将令牌写入文件,并让监控脚本像接力棒一样删除该令牌
- 使用阻塞调用调用脚本。只要阻塞调用不返回,脚本就会执行
- 在流程级别上创建一个singleton策略,并尝试周期性地启动它
- 让监控脚本充当执行脚本连接到的监控器deamon。如果连接终止,scipt显然已经停止执行
对不起,这开始变得无聊了。。。