命令
ping <dest> &
Run Code Online (Sandbox Code Playgroud)
导致 ping 进入后台。但是,它仍然将输出打印到终端。Ctrl-C 并没有阻止它,只是引入了一个新的提示。如何从终端停止它?
Rav*_*ina 24
首先进入fg您的ping命令正在运行的同一个终端(它将进程带到前台),然后按Ctrl+c停止进程。
muc*_*lux 14
如果这是您唯一的后台工作,您可以使用kill %1. 如果不确定,您可以列出所有后台作业,jobs并使用kill %<n>ping 作业编号替换 n 的位置。
当您将进程发送到后台时,无论是使用ctrl-z还是&在命令的末尾,您都会获得以下格式的输出:[index] process-id. 如果将多个进程发送到后台,则索引每次都会不断增加。
例如:
$ sleep 100 &
[1] 41608
$ sleep 101 &
[2] 41609
$ sleep 102 &
[3] 41610
$ sleep 103 &
[4] 41611
$ sleep 104 &
[5] 41612
$ sleep 105 &
[6] 41613
$ sleep 106 &
[7] 41614
Run Code Online (Sandbox Code Playgroud)
为了停止特定的,您可以使用kill <process-id>或使用fg <index>后跟ctrl-c
使用先前输出的示例:
$ kill 41614
Run Code Online (Sandbox Code Playgroud)
或者
$ fg 7
sleep 106
^C
Run Code Online (Sandbox Code Playgroud)