【前言】被某個網上的人噁心了一下,希望他已經不要到此處,更不要留下什麼污言雜語。不歡迎!
【正文】實現要點
1. java調用shell命令(ps),並處理命令的返回結果
2. ps -ef | grep manager | grep -v grep | awk '{print $2}' 可以得到manager進程的PID
注意,這裏會有一個問題,grep manager會將一些帶有manager關鍵字的其他進程也找出來,導致錯誤,稍微正確一些的是:
ps -ef | grep 'manager$' | grep -v grep | awk '{print $2}'
用正則表達式限制一下要以manager結尾
3. ps -o etime -p [pid] 可以得到指定pid的進程的已經運行的時間
注意,在HP和HPAT機型上,需要設置環境變量UNIX95=1才能使用ps -o選項。其他(Linux、SUN、IBM)上不需要設置該環境變量。