Background-Process

為什麼所有 oracle 程序都在讀取多個系統程序的 /proc/<pid>/cmdline?

  • March 17, 2017

我正在探索 oracle 程序,它是 lsof 輸出。我想知道是什麼/proc/&lt;pid&gt;/cmdline。為 oracle 的每個程序顯示 145 個相同的命令行打開文件。

那麼這究竟是什麼?

例如:

#lsof -u oracle | grep cmdline
oracle   2664 oracle   17r   REG                0,3         0   9492 /proc/1/cmdline
oracle   2664 oracle   18r   REG                0,3         0   9495 /proc/2/cmdline
.
.
.
oracle  12586 oracle  160r   REG                0,3         0  20528 /proc/2614/cmdline
oracle  12586 oracle  161r   REG                0,3         0  20529 /proc/2662/cmdline



# lsof -u oracle | grep cmdline | awk '{print $2}' | sort | uniq -c
145 12297
145 2664
145 2666
145 2670
145 2672
145 2674
145 2676
145 2678
145 2680
145 2682
145 2684
145 2686
145 2688
145 2690
145 2692
145 2694
145 2696
145 2698
145 2700
145 2702
145 2775
145 2777
145 2795
145 2799
145 2900
145 6323

從手冊頁proc(5)

/proc/

$$ pid $$/命令行 這個只讀文件包含程序的完整命令行,除非程序是殭屍程序。在後一種情況下,該文件中沒有任何內容:也就是說,對該文件的讀取將返回 0 個字元。命令行參數在此文件中顯示為一組由空字節 (’\0’) 分隔的字元串,最後一個字元串後面還有一個空字節。

引用自:https://unix.stackexchange.com/questions/352062