我正在尝试使用 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