启动和停止多个进程彼此同步

时间:2016-03-02 04:18:07

标签: linux terminal synchronization timeout kill

我将从我想要实现的目标开始,然后分享我迄今为止所尝试过的内容。

我有一个我们称之为someProcess的流程。致电

  

./ someProcess&

我可以创建someProcess的实例并立即将其置于休眠状态。然后,当

  

killall -10 someProcess

调用

,进程将被唤醒并运行直到收到:

  

killall -12 someProcess

这很好,但目标更复杂。我希望能够创建一些someProcess的睡眠实例。我想同时发送所有实例信号10(尽可能接近同时),5秒后,我想发送所有进程信号12。

我已经尝试了超时,我认为可以通过超时实现这一点,但我无法弄清楚如何。我只能让部分目标情况发挥作用。我可以让所有实例运行5秒钟,并且我可以让所有实例在该持续时间之后接收到一个信号,但我无法弄清楚如何使用超时发送两个延迟分隔的信号。理想情况下,情况看起来像这样:

  

./ someProccess&

     

./ someProcess&

     

./ someProcess&

     

...

     

魔法超时命令

     

// someProcess的所有实例都接收信号10

     

// 5s传递

     

// someProcess的所有实例接收信号12

需要使用一个命令完成此操作的原因是我可以复制我的结果。我希望能够在有不同数量的实例时测试someProcess的行为。

0 个答案:

没有答案