Background-Process
為什麼所有 oracle 程序都在讀取多個系統程序的 /proc/<pid>/cmdline?
我正在探索 oracle 程序,它是 lsof 輸出。我想知道是什麼
/proc/<pid>/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’) 分隔的字元串,最後一個字元串後面還有一個空字節。