日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux 下进程相关的常用命令汇总

發布時間:2024/3/12 linux 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux 下进程相关的常用命令汇总 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

引言:在Linux的系統中,進程相關命令是我們掌握 linux 進程必備利器,所以本文就將介紹一些常用的進程相關的命令。

文章目錄

    • 進程查看命令
      • ps 查看命令
      • top 動態查看命令
      • jobs 命令
    • 進程控制命令
      • kill 命令
      • killall 命令
      • 前后臺進程相關控制命令

進程查看命令

ps 查看命令

ps 命令可以查看進程的詳細狀況,常用選項(選項可以不加“-”)如下:

選項含義
-a顯示終端上的所有進程,包括其他用戶的進程
-u顯示進程的詳細狀態
-x顯示沒有控制終端的進程
-w顯示加寬,以便顯示更多的信息
-r只顯示正在運行的進程

ps 常見用法

  • ps aux:顯示這個操作系統上所有進程的信息,相當于一個拍照,不能動態顯示。

  • ps -ef:效果與 ps aux 差不多, ps aux 最初用到 Unix Style 中,而 ps -ef 被用在 System V Style 中,兩者輸出略有不同。現在的大部分Linux系統都是可以同時使用這兩種方式的。

  • ps ajx:以比較完整的格式顯示所有的進程,會顯示進程的父進程 ID、進程組 ID、會話 ID 等

  • ps a:顯示當前終端下的所有進程,包括其他用戶的進程。

  • 查找某個進程:根據進程的名字或者其他信息,結合 grep 命令找到目標進程。

【補充】如上圖所示,STAT 表示進程狀態,具體參數意義如下:

參數含義
D不可中斷 Uninterruptible(usually IO)
R正在運行,或在隊列中的進程
S(大寫)處于休眠狀態
T停止或被追蹤
Z僵尸進程
W進入內存交換(從內核2.6開始無效)
X死掉的進程
<高優先級
N低優先級
s包含子進程
+位于前臺的進程組

top 動態查看命令

top 命令用來動態顯示運行中的進程。top 命令能夠在運行后,在指定的時間間隔更新顯示信息,可以在使用 top命令時加上 -d 來指定顯示信息更新的時間間隔。在top命令執行后,可以按下按鍵得到對顯示的結果進行排序

按鍵含義
M根據內存使用量來排序
P根據CPU占有率來排序
T根據進程運行時間的長短來排序
U可以根據后面輸入的用戶名來篩選進程
K可以根據后面輸入的PID來殺死進程。
q退出
h獲得幫助

【備注】top 命令類似于 windows 操作系統上的任務管理器。

jobs 命令

jobs 命令用于查看當前終端的所有后臺進程。該命令可以顯示任務號及其對應的進程號。其中,任務號是以普通用戶的角度進行的,而進程號則是從系統管理員的角度來看的。一個任務可以對應于一個或者多個進程號。常用選項如下:

參數含義
-l顯示進程號
-p僅任務對應的顯示進程號
-n顯示任務狀態的變化
-r僅輸出運行狀態(running)的任務
-s僅輸出停止狀態(stoped)的任務

進程控制命令

kill 命令

命令功能: 發送指定的信號到相應進程,常用于用于刪除執行中的程序或工作。使用格式:

kill [-signal] pid

signal 是信號值,pid為進程號

示例:kill 9133 中 9133 為應用程序所對應的進程號,沒有信號值,默認為 SIGTERM。

kill 常見用法

  • kill -l:查看所有信號的編號

  • kill -SIGKILL/(-9) 進程號: 有些進程不能直接殺死(如后臺進程),這時候我們需要加一個參數“ -9 ”,“ -9 ” 代表強制結束(9號信號為SIGKILL)。

killall 命令

Linux 中每個進程號是唯一的,但是可能存在進程名相同的進程,如下所示:

killall 命令可以根據進程名殺死進程,這樣可以殺死所有進程名相同的進程。

前后臺進程相關控制命令

Linux下,需要經常使用進程的前后臺調度命令,比如一個需要長時間運行的命令,我們就希望把它放入后臺,這樣就不會阻塞當前的操作;而一些服務型的命令進程我們則希望能把它們長期運行于后臺。

  • Ctrl + C 組合鍵:終止并退出前臺命令的執行,回到當前終端;

  • Ctrl + Z 組合鍵:暫停前臺命令的執行,將該進程放入后臺,回到當前終端;

  • & 命令:運行命令時,在命令末尾加上 & 可讓命令在后臺執行。但關閉當前終端導致該后臺進程退出;

  • nohup 命令:不掛斷地運行命令。用來讓進程始終在后臺執行,即使關閉當前的終端也一樣并輸出日志,這點 & 命令做不到;

    【補充】在默認情況下(非重定向時),會輸出一個名叫 nohup.out 的文件到當前目錄下,如果當前目錄的 nohup.out 文件不可寫,輸出重定向到 $HOME/nohup.out 文件中。

  • fg N:將任務號為 N 的后臺進程放到前臺執行;

  • bg N:將任務號為 N 的暫停的后臺進程,繼續執行。

示例 1:

yxm@192:~/myshare/NetworkIO/BIO/mul_process_server$ jobs -l # 列出后臺進程,無后臺進程 yxm@192:~/myshare/NetworkIO/BIO/mul_process_server$ ./server # 運行程序 Accepting connections ... ^Z # 執行 ctrl + z,暫停并轉為后臺 [1]+ Stopped ./server yxm@192:~/myshare/NetworkIO/BIO/mul_process_server$ jobs -l # 列出后臺進程,存在后臺進程 [1]+ 20743 Stopped ./server yxm@192:~/myshare/NetworkIO/BIO/mul_process_server$ bg 1 # 將暫停的后臺進程恢復運行 [1]+ ./server & yxm@192:~/myshare/NetworkIO/BIO/mul_process_server$ fg 1 # 將后臺進程轉為前臺 ./server ^C # 執行 ctrl + c 結束進程 yxm@192:~/myshare/NetworkIO/BIO/mul_process_server$

示例 2:

yxm@192:~/myshare/NetworkIO/BIO/mul_process_server$ jobs -l # 列出后臺進程,無后臺進程 yxm@192:~/myshare/NetworkIO/BIO/mul_process_server$ nohup ./server & # 以非掛起的方式運行程序 [1] 21292 yxm@192:~/myshare/NetworkIO/BIO/mul_process_server$ nohup: ignoring input and appending output to 'nohup.out'yxm@192:~/myshare/NetworkIO/BIO/mul_process_server$ jobs -l # 列出后臺進程,無后臺進程 [1]+ 21292 Running nohup ./server &

總結

以上是生活随笔為你收集整理的Linux 下进程相关的常用命令汇总的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。