启动多个独立进程

启动多个独立进程

我正在尝试使用 for 循环同时启动多个进程。我希望每个都在它自己的控制台窗口中创建。到目前为止我有以下内容:

for i in {1..5}; do konsole -e "./program arg1 arg2"; done 

然而,这只是一个接一个地运行它们,我希望它们同时运行。我尝试过使用“&”,但我无法让我很好地玩循环。

答案1

&通过在命令末尾添加 来启动后台任务。konsole如果你将其写为,你的循环将在后台启动

for i in {1..5}; do
    konsole -e "./program arg1 arg2" &
done

或者,在一行中,

for i in {1..5}; do konsole -e "./program arg1 arg2" & done

&是一个命令终止符,就像;(以及换行符和其他一些)一样,所以它取代;你原来在那里的东西。

如果您希望脚本等待已启动的后台任务完成,请wait在末尾添加:

for i in {1..5}; do konsole -e "./program arg1 arg2" & done; wait

相关内容