博客專欄

        EEPW首頁 > 博客 > Linux視頻教程之如何在Linux系統中結束進程或中止程序

        Linux視頻教程之如何在Linux系統中結束進程或中止程序

        發布人:扣丁學堂2 時間:2021-04-23 來源:工程師 發布文章

        在零基礎參加Linux培訓中有幾種使用命令行或圖形界面終止一個程序的方式。進程出錯的時候,您可能會想要中止或是殺掉這個進程。我們將探索在命令行和圖形界面中終止進程或是應用程序,這里我們使用gedit作為樣例程序。



        使用命令行或字符終端界面

        Ctrl+C

        在命令行中調用gedit(如果您沒有使用gedit&命令)程序的一個問題是shell會話被阻塞,沒法釋放命令行提示符。在這種情況下,Ctrl+C(Ctrl和C的組合鍵)會很管用。這會終止gedit,并且所有的工作都將丟失(除非文件已經被保存)。Ctrl+C會給gedit發送了SIGINT信號。這是一個默認終止進程的停止信號,它將指示shell停止gedit的運行,并返回到主函數的循環中,您將返回到提示符。

        $gedit ^C
        Ctrl+Z

        它被稱為掛起字符。它會發送SIGTSTP信號給進程。它也是一個停止信號,但是默認行為不是殺死進程,而是掛起進程。

        下面的命令將會停止(殺死/中斷)gedit的運行,并返回到shell提示符。

        $gedit ^Z [1]+Stopped gedit $
        一旦進程被掛起(以gedit為例),將不能在gedit中寫入或做任何事情。而在后臺,該進程變成了一個作業,可以使用jsbs命令驗證。

        $jobs [1]+Stopped gedit

        jobs允許您在單個shell會話中控制多個進程。您可以終止,恢復作業,或是根據需要將作業移動到前臺或是后臺。

        讓我們在后臺恢復gedit,釋放提示符以運行其它命令。您可以通過bg命令來做到,后跟作業ID(注意上面的jobs命令顯示出來的[1],這就是作業ID)。

        $bg1 [1]+gedit &
        這和直接使用gedit&啟動程序效果差不多:
        $gedit&
        使用kill

        kill命令提供信號的精確控制,允許您通過指定信號名或是信號數字為進程發送信號,后跟進程ID或是PID。

        我喜歡kill命令的一點是它也能夠根據作業ID控制進程。讓我們使用gedit&命令在后臺開啟gedit服務。假設通過jobs命令我得到了一個gedit的作業ID,讓我們為gedit發送SIGINT信號:

        $ kill -s SIGINT %1
        作業ID需要使用%前綴,不然kill會將其視作PID。

        不明確指定信號,kill仍然可以工作。此時,默認會發送能中斷進程的SIGTERM信號。執行kill-l可以查看信號名列表,使用mankill命令閱讀手冊。

        使用killall

        如果您不想使用特定的工作ID或者PID,killall允許您使用特定的進程名。中斷gedit最簡單的killall使用方式是:

        $killallgedit

        它將終止所有名為gedit的進程。和kill相似,默認發送的信號是SIGTERM。使用-I選項忽略進程名的大小寫。

        $gedit&

        [1]14852

        $killall-IGEDIT

        [1]+Terminatedgedit

        查看手冊學習更多killall命令選項(如-u)。

        使用xkill

        您是否遇見過播放器崩潰,比如VLC灰屏或掛起?現在你可以像上面一樣獲得進程的PID來殺掉它,或者使用xkill命令終止應用程序。xkill允許您使用鼠標關閉窗口。僅需在終端執行xkill命令,它將會改變鼠標光標為一個X或是一個小骷髏圖標。


        以上就是關于扣丁學堂Linux視頻教程之解析如何在Linux系統中結束進程或中止程序的詳細介紹,最后想要了解更多關于Linux就業班或行業前景,請關注扣丁學堂官網、微信等平臺,扣丁學堂IT職業在線學習教育平臺為您提供權威的Linux視頻教程系統,通過千鋒扣丁學堂金牌講師在線錄制的Linux視頻教程課程,讓你快速掌握Linux從入門到精通開發實戰技能。扣丁學堂Linux技術交流群:692395686。微信號:codingbb

        *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。



        關鍵詞: Linux視頻

        技術專區

        關閉
        主站蜘蛛池模板: 宝丰县| 北流市| 南昌县| 东安县| 重庆市| 四平市| 陆川县| 石林| 介休市| 茶陵县| 连州市| 垫江县| 红原县| 乃东县| 屏山县| 日照市| 永定县| 鄂伦春自治旗| 新邵县| 开封市| 额尔古纳市| 南靖县| 佛学| 镇康县| 萝北县| 长武县| 南安市| 岗巴县| 建阳市| 梓潼县| 白沙| 武城县| 沐川县| 台南市| 谷城县| 美姑县| 府谷县| 读书| 泽州县| 沛县| 鸡西市|