成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Linux中4個簡單的找出進程ID(PID)方法

系統 Linux
每個人都知道 PID,究竟什么是 PID?為什么你想要 PID?你打算用 PID 做什么?你腦子里有同樣的問題嗎?如果是這樣,你就找對地方了解這些細節了。

[[220478]]

每個人都知道 PID,究竟什么是 PID?為什么你想要 PID?你打算用 PID 做什么?你腦子里有同樣的問題嗎?如果是這樣,你就找對地方了解這些細節了。

我們查詢 PID 主要是用來殺死一個沒有響應的程序,它類似于 Windows 任務管理器一樣。 Linux GUI 也提供相同的功能,但 CLI 是執行 kill 操作的有效方法。

 

什么是進程 ID?

PID 代表進程標識號process identification,它在大多數操作系統內核(如 Linux、Unix、macOS 和 Windows)中使用。它是在操作系統中創建時自動分配給每個進程的唯一標識號。一個進程是一個正在運行的程序實例。

建議閱讀: 如何查看 Apache Web 服務器在 Linux 中的運行時間

除了 init 進程外其他所有的進程 ID 每次都會改變,因為 init 始終是系統上的***個進程,并且是所有其他進程的父進程。它的 PID 是 1。

PID 默認的***值是 32768。可以在你的系統上運行 cat /proc/sys/kernel/pid_max 來驗證。在 32 位系統上,32768 是***值,但是我們可以在 64 位系統上將其設置為*** 222(約 4 百萬)內的任何值。

你可能會問,為什么我們需要這么多的 PID?因為我們不能立即重用 PID,這就是為什么。另外為了防止可能的錯誤。

系統正在運行的進程的 PID 可以通過使用 pidofpgreppspstree 命令找到。

 

方法 1:使用 pidof 命令

pidof 用于查找正在運行的程序的進程 ID。它在標準輸出上打印這些 id。為了演示,我們將在 Debian 9(stretch)系統中找出 Apache2 的進程 ID。

  1. # pidof apache2
  2. 3754 2594 2365 2364 2363 2362 2361

從上面的輸出中,你可能會遇到難以識別進程 ID 的問題,因為它通過進程名稱顯示了所有的 PID(包括父進程和子進程)。因此,我們需要找出父 PID(PPID),這是我們要查找的。它可能是***個數字。在本例中,它是 3754,并按降序排列。

 

方法 2:使用 pgrep 命令

pgrep 遍歷當前正在運行的進程,并將符合選擇條件的進程 ID 列到標準輸出中。

  1. # pgrep apache2
  2. 2361
  3. 2362
  4. 2363
  5. 2364
  6. 2365
  7. 2594
  8. 3754

這也與上面的輸出類似,但是它將結果從小到大排序,這清楚地說明父 PID 是***一個。在本例中,它是 3754

注意: 如果你有多個進程的進程 ID,那么在使用 pidofpgrep 識別父進程 ID 時就可能不會很順利。

 

方法 3:使用 pstree 命令

pstree 將運行的進程顯示為一棵樹。樹的根是某個 pid,如果省略了 pid 參數,那么就是 init。如果在 pstree 命令中指定了用戶名,則顯示相應用戶擁有的所有進程。

pstree 會將相同的分支放在方括號中,并添加重復計數的前綴來可視化地合并到一起。

  1. # pstree -p | grep "apache2"
  2. |- apache2(3754) -|-apache2(2361)
  3. | |-apache2(2362)
  4. | |-apache2(2363)
  5. | |-apache2(2364)
  6. | |-apache2(2365)
  7. | `-apache2(2594)

要單獨獲取父進程,請使用以下格式。

  1. # pstree -p | grep "apache2" | head -1
  2. |- apache2(3754) -|-apache2(2361)

pstree 命令非常簡單,因為它分別隔離了父進程和子進程,但這在使用 pidofpgrep 時命令不容易做到。

 

方法 4:使用 ps 命令

ps 顯示活動進程的選擇信息。它顯示進程 ID(pid=PID)、與進程關聯的終端(tname=TTY)、以 [DD-]hh:mm:ss 格式(time=TIME)顯示的累計 CPU 時間、以及執行名(ucmd = CMD)。輸出默認是未排序的。

  1. # ps aux | grep "apache2"
  2. www-data 2361 0.0 0.4 302652 9732 ? S 06:25 0:00 /usr/sbin/apache2 -k start
  3. www-data 2362 0.0 0.4 302652 9732 ? S 06:25 0:00 /usr/sbin/apache2 -k start
  4. www-data 2363 0.0 0.4 302652 9732 ? S 06:25 0:00 /usr/sbin/apache2 -k start
  5. www-data 2364 0.0 0.4 302652 9732 ? S 06:25 0:00 /usr/sbin/apache2 -k start
  6. www-data 2365 0.0 0.4 302652 8400 ? S 06:25 0:00 /usr/sbin/apache2 -k start
  7. www-data 2594 0.0 0.4 302652 8400 ? S 06:55 0:00 /usr/sbin/apache2 -k start
  8. root 3754 0.0 1.4 302580 29324 ? Ss Dec11 0:23 /usr/sbin/apache2 -k start
  9. root 5648 0.0 0.0 12784 940 pts/0 S+ 21:32 0:00 grep apache2

從上面的輸出中,我們可以根據進程的啟動日期輕松地識別父進程 ID(PPID)。在此例中,apache2 啟動于 Dec 11,它是父進程,其他的是子進程。apache2 的 PID 是 3754。 

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2019-11-06 15:58:54

Linux內存消耗進程

2019-12-16 09:10:38

Linux中央處理器進程

2019-12-16 11:00:04

LinuxCPU進程

2019-12-16 10:43:38

Linux內存消耗進程

2010-03-05 13:31:02

Linux進程文件路徑

2010-06-11 13:15:51

2015-09-29 09:34:53

LinuxCPU內核

2017-01-13 15:29:06

Linux二進制命令方法

2010-06-04 14:31:59

Linux 查看進程

2021-03-08 08:55:41

Linux內存命令

2012-08-07 11:28:13

卸載linux

2010-06-28 14:52:30

cron進程

2020-10-10 11:02:09

Linux 系統 數據

2009-06-17 09:06:59

Unix系統資源進程

2010-03-02 09:51:22

Linux進程操作命令

2010-06-13 15:10:19

Linux 查看進程

2012-08-13 10:16:34

IBMdW

2019-06-04 11:17:39

Windows Linux命令

2019-08-23 08:54:32

LinuxMySQLBSD

2024-05-23 08:24:11

Android進程開發
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 天天干天天爽 | 欧美区在线 | 成人免费视频网站在线看 | 国产日韩欧美精品一区二区三区 | 国产午夜在线观看 | 一区中文字幕 | 黄色大片在线免费观看 | 国产91视频一区二区 | 91视视频在线观看入口直接观看 | 中文字幕 欧美 日韩 | 亚洲国产精品一区二区第一页 | 91精品国产92 | 天天综合干 | 亚洲欧洲国产视频 | 日韩一区二区三区在线视频 | 欧美成年黄网站色视频 | 精品国产乱码久久久久久闺蜜 | 日韩一区av | 日本精品免费 | 欧美亚洲在线视频 | 久久精品视频在线观看 | 国产三级在线观看播放 | 综合色影院 | 久久久999免费视频 999久久久久久久久6666 | 午夜影院在线观看 | 国产精品视频一二三 | 一本色道精品久久一区二区三区 | 国产精品精品视频一区二区三区 | 日本激情视频中文字幕 | 欧美性网| 欧美成人激情 | 亚洲国产精品一区二区久久 | 欧美日韩淫片 | 国产精品久久久久无码av | 日韩成人在线播放 | 亚洲精品久久久久久一区二区 | 久草免费在线 | 中文在线一区二区 | 久久乐国产精品 | 免费av观看 | 精品国产一区二区国模嫣然 |