我正在嘗試編寫一組函數,可以檢查當我遇到一些意外輸出時是否正在運行進程名稱。我已經凝結的問題取決於系統ps命令,可以採取「-fC的論點下面的腳本名稱isRunning.sh ...無法理解ps | wc輸出差異
#!/bin/bash
progname=isRunning.sh
ps -fC isRunning.sh
pRet=`ps -fC ${progname} | wc -l`
echo pRet $pRet
psOut=`ps -fC ${progname}`
wcOut=`echo "${psOut}" | wc -l`
echo
echo ps output
echo "${psOut}"
echo
echo wcOut $wcOut
在管道ps輸出的第一次嘗試WC得到3的回報。第二次嘗試獲得預期的2的返回值。任何人都可以解釋這種行爲嗎?我認爲這是我忽略的一些愚蠢的東西。
感謝, BBB
編輯:我的輸出
UID PID PPID C STIME TTY TIME CMD
root 6717 5940 0 13:10 pts/0 00:00:00 /bin/bash ./isRunning.sh
pRet 3
ps output
UID PID PPID C STIME TTY TIME CMD
root 6717 5940 0 13:10 pts/0 00:00:00 /bin/bash ./isRunning.sh
wcOut 2
請向我們展示您的程序的輸出。 –
我似乎無法得到這個帖子格式化我想要的方式。 – bittramp
改爲編輯您的問題。註釋不適用于格式文本 –