前言
進程管理的作用:
判斷服務器健康狀態:通過分析進程的狀態(內存、CPU占有率等)判斷服務器的負載和安全狀態 查看系統中的所有進程 殺死進程本文將給大家詳細介紹關于Linux管理進程命令的相關內容,通過這些關鍵的命令來全程管理你的應用。
一般來說,應用程序進程的生命周期有三種主要狀態:啟動、運行和停止。如果我們想成為稱職的管理員,每個狀態都可以而且應該得到認真的管理。這八個命令可用于管理進程的整個生命周期。
啟動進程
啟動進程的最簡單方法是在命令行中鍵入其名稱,然后按回車鍵。如果要啟動 Nginx web 服務器,請鍵入 nginx 。也許您只是想看看其版本。
alan@workstation:~$ nginxalan@workstation:~$ nginx -vnginx version: nginx/1.14.0
查看您的可執行路徑
以上啟動進程的演示是假設可執行文件位于您的可執行路徑中。理解這個路徑是可靠地啟動和管理進程的關鍵。管理員通常會為他們想要的目的定制這條路徑。您可以使用 echo $PATH 查看您的可執行路徑。
alan@workstation:~$ echo $PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
WHICH
使用 which 命令查看可執行文件的完整路徑。
alan@workstation:~$ which nginx/opt/nginx/bin/nginx
我將使用流行的 web 服務器軟件 Nginx 作為我的例子。假設安裝了 Nginx。如果執行 which nginx 的命令什么也不返回,那么是找不到 Nginx 了,因為它只搜索您指定的可執行路徑。有三種方法可以補救一個進程不能簡單地通過名字啟動的情況。首先是鍵入完整路徑 ―― 雖然,我不情愿輸入全部路徑,您會嗎?
alan@workstation:~$ /home/alan/web/prod/nginx/sbin/nginx -vnginx version: nginx/1.14.0
第二個解決方案是將應用程序安裝在可執行文件路徑中的目錄中。然而,這有時可能是辦不到的,特別是如果您沒有 root 權限。
第三個解決方案是更新您的可執行路徑環境變量,包括要使用的特定應用程序的安裝目錄。這個解決方案是與 shell 相關的。例如,Bash 用戶需要在他們的 .bashrc 文件中編輯 PATH= 行。
PATH="$HOME/web/prod/nginx/sbin:$PATH"
現在,重復您的 echo 和 which 命令或者嘗試檢查版本。容易多了!
alan@workstation:~$ echo $PATH/home/alan/web/prod/nginx/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/binalan@workstation:~$ which nginx/home/alan/web/prod/nginx/sbin/nginxalan@workstation:~$ nginx -v nginx version: nginx/1.14.0
保持進程運行
NOHUP
注銷或關閉終端時,進程可能不會繼續運行。這種特殊情況可以通過在要使用 nohup 命令放在要運行的命令前面讓進程持續運行。此外,附加一個 & 符號將會把進程發送到后臺,并允許您繼續使用終端。例如,假設您想運行 myprogram.sh 。
nohup myprogram.sh &
nohup 會返回運行進程的 PID。接下來我會更多地談論 PID。
管理正在運行的進程
每個進程都有一個唯一的進程標識號 (PID) 。這個數字是我們用來管理每個進程的。我們還可以使用進程名稱,我將在下面演示。有幾個命令可以檢查正在運行的進程的狀態。讓我們快速看看這些命令。
新聞熱點
疑難解答