Linux

如何查看完整詳細資訊的程序狀態

  • January 16, 2013

我執行腳本 - my_script.ksh作為帶有 5 個長參數的程序

在我的 solaris/linux 機器上(範例 1),

後來我驗證了這個過程

ps -ef | grep  my_script.ksh 

我不明白我沒有從ps -ef獲得所有參數的方式?, (見範例 2)

或者 ps 命令可能限制顯示長線?,或者可能需要編寫帶有一些標誌的 ps 命令來顯示所有參數?

需要做什麼才能查看ps -ef命令的所有參數?

範例 1 (使用相關參數執行my_script.ksh )

          #  ( /tmp/my_script.ksh PATH1=/usr/lib/efcode/sparcv9/efdaemon PATH2=/etc/opt/VO/share/conf/nnmet/mib/Fore-pre802dot1Q-VLAN-MIB.mib -scan-files -ignore-simbolic-links -give-full-file-details ) &
[1]     18942

範例 2(驗證腳本程序,但看不到所有參數?)

      # ps -ef | grep my_script.ksh 
root 18942 11889   0 13:22:20 pts/1       0:00 /bin/ksh /tmp/my_script.ksh PATH1=/usr/lib/efcode/sparcv9/efdaemon PATH2=/etc/o     

在 Solaris 上,請嘗試使用/usr/ucb/ps -auxwww | grep my_script.sh。這將顯示該程序的完整命令行和參數。對於 Linux,只需使用ps aux.

還可以嘗試強制某些欄位僅由 顯示ps,例如ps -ao comm,args將顯示命令及其參數。

花一點時間man ps應該會讓你走上正軌。

/usr/ucb/ps在目前的 Solaris 發行版中,預設情況下已棄用並且不再安裝。

ps -ao comm,args將遇到同樣的問題,即命令行被設計截斷為 80 個字元。

這是一個受支持的替代解決方案:

pargs $(pgrep my_script.sh)

引用自:https://serverfault.com/questions/469609