Linux的進程啟動的方式不外乎有兩種方式:調度啟動和手動啟動,調度啟動就是我們經常使用的任務計劃啦,而手動啟動則是由用戶輸入命令,然後Linux執行的一個過程,分為前臺啟動和後臺啟動。
前臺啟動
手動啟動一個進程,比如輸入一個ls、pwd等命令。它的特點是會一直佔據著終端的窗口,直至完成。一般適合運行時間比較短,需要與用戶進行交互的程序。
例如,前臺啟動,會佔據終端窗口,直至命令運行完成
後臺啟動
與前臺啟動相對應,不管進程是否完成,都會立即返回到shell提示符下,在窗口頁面等待他完成。好處是,你可以在它後臺運行的時候,繼續運行其他命令。如果一個進程比較耗時,也不需要用戶的交互,可以考慮使用後臺啟動。要以後臺的方式啟動一個進程,只要在運行的命令後面添加&即可,例如:
使用jobs命令,可以看到系統當前正在運行的所有後臺進程:
需要特別注意的是,如果用戶退出終端,該用戶執行的所有程序全部會結束,包括正在執行的後臺程序。
可以使用nohup 命令,保證命令運行的後臺進程不會因此結束:
終止進程
前臺進行-直接Ctrl+C就可以了
如果是後臺進行,需要使用kill來終止進行,需要使用ps命令去獲取進程id,然後用kill命令殺掉進程。常用選項 -s signal顧名思義,信號名或者信號代碼,查看所有的信號代碼
比如要終止我們後臺的進程,可以如下:
如果使用這個命令都無法終止,那麼可能這些進程已經處於僵死狀態,需要通過重啟計算機解決
killall
如果我們需要殺死一個程序運行的所有進程,使用kill命令就比較麻煩了,因為一個程序通常會包含很多的進程,因此,我們可以使用killall命令來殺死程序的所有進程
命令格式:killall 進程名
這是針對進程來進行操作,如果一個文件被很多人佔用,我們希望全部殺掉,方便我們對這個文件進行操作和處理,可以使用fuser命令,命令格式如下
fuser -k filename
優先級
在Linux系統中,每個進程在執行時都會有一個優先級,等級越高,進程獲取CPU的時間越多,處理就會更快。進程的優先等級範圍是
-20-19,其中-20最高,19最低,默認級別為0,使用nice和renice命令可以更改優先級 以上就是關於Linux進程管理的一些比較常用的操作,感謝閱讀!
閱讀更多 一不小心7332789 的文章