如何从脚本以非阻塞方式执行程序

时间:2011-07-12 14:16:14

标签: linux scripting nonblocking

我有一系列程序文件,a.out,b.out,c.out

我想在每个程序之间的某个延迟之后一个接一个地执行它们。像
./a.out-输入参数
----等待50秒----
./b.out-输入参数
-----等待100秒----
./c.out

我想在a.out开始执行后50秒执行b.out但是以非阻塞的方式执行,即我不想在a.out完成执行后等待50秒。

任何人都可以建议在Linux中这样做的方法,因为我将它放入一个脚本中,为我自动执行任务

3 个答案:

答案 0 :(得分:7)

您想要后台进程

./a.out -parameters & 
sleep 50 
./b.out -parameters & 
sleep 100 
./c.out &

后台进程在不阻塞终端的情况下运行;您可以使用jobs工具以有限的方式控制它们。

答案 1 :(得分:1)

要在后台运行,您可以使用a.out &

暂停时,请考虑Timeout a command in bash without unnecessary delay

答案 2 :(得分:-1)

您可以使用Bash脚本和 sleep 程序:

#!/bin/bash
./a.out -input parameters
sleep 50
./b.out -input parameters
sleep 100
./c.out