如何知道某个文件当前是否正在执行?

时间:2012-12-01 09:34:50

标签: bash shell ubuntu

我正在使用Ubuntu。我有两个bash脚本文件。两者都将并行运行。现在我想继续监视它正在运行的另一个文件。

那么找到该文件当前是否正在执行的任何方法都是什么?

1 个答案:

答案 0 :(得分:1)

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

一些建议:

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

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