所以我正在编写一个扫描某些文本文件的BASH脚本。有成千上万的文本文件,所以我写了另一个脚本,它分割了多少篇文章,并将负载分配到其他终端,然后运行扫描脚本。我的问题是,当我运行我的负载分配脚本时,我不希望在屏幕上弹出10个不同的终端。不知何故,我必须把这些终端放在后台仍然运行。我知道有一个命令&
可以让你这样做,但终端仍然会弹出我的屏幕。
到目前为止,我有这个命令:
for ((i=1; i<=5; i++))
do
gnome-terminal -x ./script $a $b $c $d
done
屏幕上弹出五个运行./script
的终端。我希望他们只是在后台运行,所以他们不会弹出屏幕。只需将&
添加到gnome-terminal
命令的末尾就不起作用了。有什么建议吗?
答案 0 :(得分:0)
您想使用括号创建子壳:
for ((i=1; i<=5; i++))
do
(./script $a $b $c $d)&
done
答案 1 :(得分:0)
感谢epx(第一个评论问题的人),实际上有一种非常简单的方法可以在后台运行10个不同的终端:
screen -d -m ./script
如果你在for循环中运行它,你可以在后台创建多个终端。