我有很長的運行shell腳本(運行超過24小時)。 這是非常簡單的腳本。它只是從dir中讀取xml文件,並對文件內容執行sed
操作。目錄中有1百萬個xml文件。PS命令不顯示正在運行的進程
我的腳本名稱是一樣runDataManipulation.sh
當我運行以下命令
ps -ef | grep "runDa*"
然後有時我看到我的過程
username 34535 1 48 11:42:01 - 224:22 /usr/bin/ksh ./runDataManipulation.sh
但是,如果我運行後完全相同的命令幾秒鐘,然後我根本沒有看到上述過程。
由於我的進程一直在運行,所以我期望ps
命令始終顯示進程。
如果我在我的劇本一樣的進程ID做grep
..
ps -ef | grep 34535
那麼一段時間我看到像導致
username 34535 1 51 11:42:01 - 229:22 [ksh]
有時我看到像導致
username 45678 34535 0 14:12:11 - 0:0 [sed]
我的主要問題是......爲什麼當我爲我的公關我grep
時看不到我的流程使用腳本名稱進行操作。我正在使用AIX 6.1
。
查看'runDataManipulation.sh'腳本的內容將非常有用,因爲它必須做一些事情來讓它的流程列表發生變化。值得注意的是,在AIX上,您可以修改'* argv []'的內容(使用C語言),並且您的更改將反映在進程列表中。並非所有的Unix操作系統都允許這樣。 –