命令'bg'和'&'在Linux终端上不起作用

时间:2020-08-24 09:38:49

标签: linux bash process sysadmin

我正在运行Linux:

Linux davide 5.7.0-kali1-amd64 #1 SMP Debian 5.7.6-1kali2 (2020-07-01) x86_64 GNU/Linux

当我尝试在后台运行某些进程时,它们会出现在终端上,并且我可以看到所有的STDOUT。在表达式之后,我同时尝试了命令“'Ctrl + z'+ bg”和“&”。

示例:Ping -c 10 127.0.0.1 &

似乎该进程在后台运行(实际上,我收到的PID就像它在运行一样),但是随后我在终端中看到了所有输出。 我也可以运行其他命令,例如:

$ ping -c 10 127.0.0.1 &
[1] 2079
$ PING 127.0.0.1 (127.0.0.1) 56 (84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.041 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.053 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.053 ms
64 bytes from 127.0.0.1: icmp_seq=4 ttl=64 time=0.047 ms
64 bytes from 127.0.0.1: icmp_seq=5 ttl=64 time=0.052 ms
64 bytes from 127.0.0.1: icmp_seq=6 ttl=64 time=0.059 ms
64 bytes from 127.0.0.1: icmp_seq=7 ttl=64 time=0.053 ms
ls
 Desktop   Documents   Downloads   Music   Pictures   Public   Templates   Videos
$ 64 bytes from 127.0.0.1: icmp_seq=8 ttl=64 time=0.054 ms
64 bytes from 127.0.0.1: icmp_seq=9 ttl=64 time=0.057 ms
64 bytes from 127.0.0.1: icmp_seq=10 ttl=64 time=0.054 ms

--- 127.0.0.1 ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 9215ms
Rtt min/avg/max/mdev = 0.041/0.052/0.059/0.004 ms
[1]+  Done    ping -c 10 127.0.0.1

我不知道这是新版本的错误还是配置错误,但是我找不到与此相关的任何主题。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:2)

&用于使命令在后台运行,但不会使其输出隐藏。

如果要将输出重定向到文件,请使用>,该文件用于重定向输出。

例如:

ping www.wikipedia.com> output.txt&

此外,如果您不想将输出存储到此处,则可以将其重定向到/dev/null

关于Ctrl + z:用于将命令挂起而不在后台运行。有关更多信息,请参见here