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

8
我有一系列程序文件,a.out、b.out、c.out。
我想在每个程序之间设置一定的延迟时间,按顺序依次执行它们,例如:
./a.out -输入参数
----等待50秒----
./b.out -输入参数
-----等待100秒----
./c.out
我想让b.out在a.out开始执行后的50秒启动,但以非阻塞方式进行,即不想在a.out完成执行后再等待50秒。
有人能否建议在Linux中实现这个功能的方法,因为我要将其放入一个脚本中来自动化任务。
3个回答

11

您需要 后台进程

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

后台进程可以在不阻塞终端的情况下运行;您可以使用jobs命令来进行有限控制。

1

-1
你可以使用Bash脚本和sleep程序:
#!/bin/bash
./a.out -input parameters
sleep 50
./b.out -input parameters
sleep 100
./c.out

仍然是同步的 - Sebastian Mach
哎呀,没错。Kilian的答案是正确的,应该被接受。 - Martey

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接