命令
ping <dest> &
导致 ping 进入后台。但是它仍然会将输出打印到终端。Ctrl-C 不会停止它,只会引入一个新提示。如何从终端停止它?
答案1
答案2
如果这是你唯一的后台任务,你可以用 来终止它kill %1
。如果不确定,你可以用 列出所有后台任务jobs
,其中 n 用kill %<n>
你的 ping 任务编号代替。
答案3
当您将一个进程发送到后台时,无论是在命令末尾使用ctrl-z还是 by ,您都会得到以下格式的输出: 。如果您将多个进程发送到后台,则索引每次都会不断递增。&
[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
为了停止特定的一个,你可以使用kill <process-id>
或使用fg <index>
后跟ctrl-c
使用先前输出的示例:
$ kill 41614
或者
$ fg 7
sleep 106
^C
答案4
连续 ping 的稍微不同的方法是使用 -c 选项并输入您希望它运行的次数,这样它将在所需的次数后自行停止,即以下 ping 将在 100 次 ping 后停止
ping -c 100 192.168.1.1&