如何在后台运行一个命令,该命令执行另一个运行脚本的终端



所以我目前正在编写一个扫描某些文本文件的 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  

相关内容

  • 没有找到相关文章

最新更新