并行运行多个进程,但在bash中一起退出

亚伦·尤代肯(Aaron Yodaiken)

我正在尝试创建一个bash脚本,该脚本将运行多个长期存在的脚本-所有这些脚本都将在脚本结尾处终止。例如:

x.sh:

while :; do sleep 10 && echo '10 seconds passed'; done

y.sh的pseduo代码:

./x.sh [anchored&]
./x.sh [anchored&]
./x.sh [anchored&]

然后在外壳中,应该可以执行以下操作:

$ ./y.sh
# after 10 seconds
10 seconds passed
10 seconds passed
10 seconds passed
# after another 10 seconds
10 seconds passed
10 seconds passed
10 seconds passed
^[CTRL-C]
$ # all scripts are now canceled

当然,在我的实际用例中,我没有多次运行相同的脚本(x.sh),而是运行了不同的命令。

Alvits

这是您可以使用的快速解决方案。

#!/bin/bash
trap terminate SIGINT
terminate(){
    pkill -SIGINT -P $$
    exit
}
#the rest of your code goes here
./x.sh &
./x.sh &
wait

trap按下terminate将执行功能CTRL-C该函数将pkill在所有父进程PIDPID发送信号的脚本的当前进程上执行SIGINT

wait在脚本确保年底,该脚本保持,而儿童进程正在运行运行。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在php中并行运行多个进程

来自分类Dev

在php中并行运行多个进程

来自分类Dev

Ruby:并行运行外部进程并跟踪退出代码

来自分类Dev

如何在Azure Bash中一起运行多个CLI命令?

来自分类Dev

Bash 文件:并行运行进程并在一个进程结束时停止

来自分类Dev

从bash并行运行

来自分类Dev

启动进程以并行运行

来自分类Dev

并行运行多个任务

来自分类Dev

多个Javascript并行运行

来自分类Dev

多个并行运行的IntentServices

来自分类Dev

并行运行多个任务

来自分类Dev

并行运行bash for循环

来自分类Dev

并行运行bash脚本?

来自分类Dev

Spark:并行运行外部进程

来自分类Dev

多个进程是否可以在多线程单核 CPU 上并行运行?

来自分类Dev

垃圾回收如何与多个正在运行的进程/线程一起工作?

来自分类Dev

Bash中的资源管理用于并行运行进程

来自分类Dev

Bash 脚本不会与 Python 中的子进程一起运行

来自分类Dev

如何并行运行多个Wine实例

来自分类Dev

并行运行多个执行任务

来自分类Dev

如何并行运行多个shell脚本?

来自分类Dev

半并行运行多个任务

来自分类Dev

如何并行运行多个芹菜任务?

来自分类Dev

并行运行多个地图任务

来自分类Dev

如何使用ncverilog并行运行多个?

来自分类Dev

并行运行多个应用程序?

来自分类Dev

并行运行多个QEventLoops(用于QtNetwork)

来自分类Dev

如何并行运行多个pv命令?

来自分类Dev

与gulp并行运行多个qunit测试