0

我正在使用 Ubuntu。我有两个 bash 脚本文件。两者将并行运行。现在我想持续监控另一个文件是否正在运行。

那么有什么方法可以找到文件当前是否正在执行?

4

1 回答 1

1

无数的可能性,这是一个创造力的问题......

一些建议:

  • 定期轮询进程列表并按名称或进程 ID 过滤它
  • 使用控制套接字启动脚本,只要套接字打开,脚本就会运行
  • 在文件系统中使用通常的锁定策略。
  • 让脚本定期做一个生命周期,然后观察那个生命周期。
  • 在一系列命令中启动脚本,脚本存在的那一刻,下一个命令将由调用 shell 执行。那可能是通知脚本或其他东西。
  • 让脚本在您的桌面上进行一些摆动并自己观看。
  • 使用它启动它nohup并观察日志文件。
  • 在脚本中实现一个守护进程并定期连接。
  • 从脚本中打开一个文件并使用fuser系统调用观察文件系统。
  • 通过监控脚本定期将令牌写入文件,并让监控脚本删除该令牌,就像指挥棒一样。
  • 使用阻塞调用调用脚本。只要该阻塞调用不返回,脚本就会执行。
  • 在进程级别创建一个单例策略,并简单地尝试定期启动它。
  • 使监控脚本充当执行脚本连接到的监控守护程序。如果连接终止,scipt 显然已经停止执行。
  • ...

对不起,这开始变得无聊了......

于 2012-12-01T09:51:30.590 回答