在bash中在后台运行进程非常容易。
$ echo "Hello I'm a background task" &
[1] 2076
Hello I'm a background task
[1]+ Done echo "Hello I'm a background task"
但是输出是冗长的。在第一行上打印后台任务的作业ID和进程ID,然后我们获得命令的输出,最后获得作业ID,其状态和触发该作业的命令。
有没有一种方法可以抑制运行后台任务的输出,以使输出看起来与没有“ and”符的情况完全相同?即:
$ echo "Hello I'm a background task" &
Hello I'm a background task
我问的原因是我想将后台进程作为tab-completion命令的一部分运行,因此该命令的输出必须不间断才能有意义。