帮酷LOGO
  • 显示原文与译文双语对照的内容


問題:

命令

ping <dest> &

導致ping轉到後台。 但它仍會將輸出列印到終端。 ctrl c 不停止它,只引入一個新提示。 如何從終端停止它?


回答 1:

ping 命令運行( 它將過程帶入前景) 時,首先輸入 fg,然後按Ctrl+c停止進程。

enter image description here


回答 2:

如果這是你唯一的後台工作,你可以用 kill %1 殺死它。 如果不確定您可以jobs 列出所有後台作業的作業並使用kill%


回答 3:

將進程發送到背景時,無論是使用 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

為了停止特定的操作,可以使用 kill <process-id> 或者使用 fg <index>,然後使用 ctrl-c

使用前面的輸出示例:

$ kill 41614

或者

$ fg 7
sleep 106
^C

回答 4:

啟動一個新的終端選項卡,運行:

$ pgrep ping
 2564

然後使用 kill 命令終止 pid:

$ kill 2564

回答 5:

連續ping略有不同的是使用-c選項並輸入要運行的時間,這樣就可以在ping之後停止,在ping完成之後,它會停止。

ping -c 100 192.168.1.1 &


回答 6:

只是使用:

在運行此命令后,您可以看到在後台(當前會話)中使用jobs命令放置的所有進程,您將看到當前bash上運行的所有進程以及每個進程的左側,您可以看到一些數字:

它將殺死你正在運行的當前後台進程。


回答 7:

在運行這個命令之後,你可以看到所有在後台( 用於當前會話) 中的進程,在運行這個命令之後,你將看到當前bash和每個進程的左側的所有進程,你可以看到一些編號:

[1]- Running sleep 200000 &
[2]+ Running sleep 300000 &

使用 kill -15 n% ( n 是 [[] 符號中的數字) 可以簡單地終止作業( 進程)

如果要強制關閉過程,-15 用於終止進程,只需使用 -9 而不是 -15 PS: 如果使用 root 特權運行命令,則必須使用 sudo 運行 kill -15 n%

2 ) 你可以看到在系統上運行 ps -aux 並查看 ping的所有進程:

ps -aux | grep ping 

輸出類似於:

root 2615 0.0 0.0 25828 1052 pts/0 S 02:12 0:00 ping 8.8.8.8

第二個編號( 2615 ) 是PID或者進程 ID,你可以使用

sudo kill -15 2615




Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备05059198号-3  |  如果智培  |  酷兔英语