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