linux終止命令的命令
㈠ 在linux中如何終止指令的運行
具體操作步驟如下:
1、首先打開linux終端,運行一段Python程序:
㈡ linux結束進程命令有哪些
linux 任務管理-後台運行與終止
fg、bg、jobs、&、ctrl + z命令
一、 &
加在一個命令的最後,可以把這個命令放到後台執行 ,如gftp &,
二、ctrl + z
可以將一個正在前台執行的命令放到後台,並且處於暫停狀態,不可執行
三、jobs
查看當前有多少在後台運行的命令
jobs
-l選項可顯示所有任務的PID,jobs的狀態可以是running, stopped,
Terminated,但是如果任務被終止了(kill),shell
從當前的shell環境已知的列表中刪除任務的進程標識;也就是說,jobs命令顯示的是當前shell環境中所起的後台正在運行或者被掛起的任務信息;
四、fg
將後台中的命令調至前台繼續運行
如果後台中有多個命令,可以用 fg %jobnumber將選中的命令調出,%jobnumber是通過jobs命令查到的後台正在執行的命令的序號(不是pid)
五、bg
將一個在後台暫停的命令,變成繼續執行 (在後台執行)
如果後台中有多個命令,可以用bg %jobnumber將選中的命令調出,%jobnumber是通過jobs命令查到的後台正在執行的命令的序號(不是pid)
將任務轉移到後台運行:
先ctrl + z;再bg,這樣進程就被移到後台運行,終端還能繼續接受命令。
概念:當前任務
如
果後台的任務號有2個,[1],[2];如果當第一個後台任務順利執行完畢,第二個後台任務還在執行中時,當前任務便會自動變成後台任務號碼「[2]」
的後台任務。所以可以得出一點,即當前任務是會變動的。當用戶輸入「fg」、「bg」和「stop」等命令時,如果不加任何引號,則所變動的均是當前任務
進程的終止
後台進程的終止:
方法一:
通過jobs命令查看job號(假設為num),然後執行kill %num
方法二:
通過ps命令查看job的進程號(PID,假設為pid),然後執行kill pid
前台進程的終止:
ctrl+c
kill的其他作用
kill除了可以終止進程,還能給進程發送其它信號,使用kill -l 可以察看kill支持的信號。
SIGTERM是不帶參數時kill發送的信號,意思是要進程終止運行,但執行與否還得看進程是否支持。如果進程還沒有終止,可以使用kill -SIGKILL pid,這是由內核來終止進程,進程不能監聽這個信號。
進程的掛起
後台進程的掛起:
在solaris中通過stop命令執行,通過jobs命令查看job號(假設為num),然後執行stop %num;
在redhat中,不存在stop命令,可通過執行命令kill -stop PID,將進程掛起;
當要重新執行當前被掛起的任務時,通過bg %num 即可將掛起的job的狀態由stopped改為running,仍在後台執行;當需要改為在前台執行時,執行命令fg %num即可;
前台進程的掛起:
ctrl+Z;
㈢ 在 Linux 中如何結束進程
在 linux 中有幾種使用命令行或圖形界面終止一個程序的方式。
進程出錯的時候,您可能會想要中止或是殺掉這個進程。在本文中,我們將探索在命令行和圖形界面中終止進程或是應用程序,這里我們使用?gedit[1]?作為樣常式序。
使用命令行或字元終端界面Ctrl + C
在命令行中調用?gedit?(如果您沒有使用?gedit ?命令)程序的一個問題是 shell 會話被阻塞,沒法釋放命令行提示符。在這種情況下,Ctrl + C?(Ctrl?和?C?的組合鍵) 會很管用。這會終止?gedit?,並且所有的工作都將丟失(除非文件已經被保存)。Ctrl + C?會給?gedit?發送了?SIGINT?信號。這是一個默認終止進程的停止信號,它將指示 shell 停止?gedit?的運行,並返回到主函數的循環中,您將返回到提示符。
$ gedit^CCtrl + Z
它被稱為掛起字元。它會發送?SIGTSTP?信號給進程。它也是一個停止信號,但是默認行為不是殺死進程,而是掛起進程。
下面的命令將會停止(殺死/中斷)?gedit?的運行,並返回到 shell 提示符。
$ gedit^Z[1]+ ?Stopped ? ? ? ? ? ? ? ? gedit$
一旦進程被掛起(以?gedit?為例),將不能在?gedit?中寫入或做任何事情。而在後台,該進程變成了一個作業,可以使用?jsbs?命令驗證。
$ jobs[1]+ ?Stopped ? ? ? ? ? ? ? ? gedit
jobs?允許您在單個 shell 會話中控制多個進程。您可以終止,恢復作業,或是根據需要將作業移動到前台或是後台。
讓我們在後台恢復?gedit,釋放提示符以運行其它命令。您可以通過?bg?命令來做到,後跟作業 ID(注意上面的?jobs?命令顯示出來的?[1],這就是作業 ID)。
$ bg 1[1]+ gedit amp;
這和直接使用?gedit ?啟動程序效果差不多:
$ gedit amp;使用 kill
kill?命令提供信號的精確控制,允許您通過指定信號名或是信號數字為進程發送信號,後跟進程 ID 或是 PID。
我喜歡?kill?命令的一點是它也能夠根據作業 ID 控制進程。讓我們使用?gedit ?命令在後台開啟?gedit?服務。假設通過?jobs?命令我得到了一個?gedit?的作業 ID,讓我們為?gedit?發送?SIGINT?信號:
$ kill -s SIGINT %1
作業 ID 需要使用?%?前綴,不然?kill?會將其視作 PID。
不明確指定信號,kill?仍然可以工作。此時,默認會發送能中斷進程的?SIGTERM?信號。執行?kill -l可以查看信號名列表,使用?man kill?命令閱讀手冊。
使用 killall
如果您不想使用特定的工作 ID 或者 PID,killall?允許您使用特定的進程名。中斷?gedit?最簡單的?killall?使用方式是:
$ killall gedit
它將終止所有名為?gedit?的進程。和?kill?相似,默認發送的信號是?SIGTERM。使用?-I?選項忽略進程名的大小寫。
$ gedit amp;[1] 14852$ killall -I GEDIT[1]+ ?Terminated ? ? ? ? ? ? ?gedit
查看手冊學習更多?killall?命令選項(如?-u)。
使用 xkill
您是否遇見過播放器崩潰,比如?VLC[2]?灰屏或掛起?現在你可以像上面一樣獲得進程的 PID 來殺掉它,或者使用?xkill?命令終止應用程序。
Using xkill
xkill?允許您使用滑鼠關閉窗口。僅需在終端執行?xkill?命令,它將會改變滑鼠游標為一個?X?或是一個小骷髏圖標。在你想關閉的進程窗口上點擊?x。小心使用?xkill,如手冊描述的一致,它很危險。我已經提醒過您了!
參閱手冊,了解上述命令更多信息。您還可以接續探索?pkill?和?pgrep?命令。