当另一个完成时,Linux计划任务

时间:2013-01-16 21:43:27

标签: linux process cron task schedule

我当前正在运行任务/进程。我希望安排另一项任务在第一项完成时开始。

我怎么能在linux中做到这一点?

(我无法阻止第一个,并创建一个脚本以便在另一个之后启动一个任务)

2 个答案:

答案 0 :(得分:2)

有点微不足道的规范,但是

的内容
watch -n 1 'pgrep task1 || task2'

可能会完成这项工作。

答案 1 :(得分:0)

您希望等待

本手册第2部分中的系统调用,其中一个变量如waitpid或shell内置,为此目的明确设计。


shell内置更自然,因为这两个进程都是出售的孩子,所以你写了一个脚本:

#!/bin/sh
command1 arguments &
wait 
command2 args

要使用系统调用,您必须编写一个程序,该程序会在执行第二个程序之前在子项中启动第一个命令然后wait

wait (2)的联机帮助页说:

  

wait()和waitpid()
        wait()系统调用暂停当前进程的执行,直到其子进程终止。呼叫等待(& status)等同于:

      waitpid(-1, &status, 0);
     

waitpid()系统调用暂停执行当前进程直到子进程   由pid参数指定的状态已经改变。