私はps
、与えられたしきい値よりも長い間実行されたプロセスを識別するための練習の一部としてコマンドを使用しています。
次のテンプレートを使用して、既知のプロセスコマンドの実行時間を取得します。
ps -eo etime,command | grep <something to identify a process> | grep -v grep | awk '{print $1}'
短期実行プロセスの場合、etime(経過時間)の値が次の形式であることを確認しましたminutes:seconds
。これにより、プロセスが実行された期間を簡単に確認できます。
長期実行プロセス(最大数日)の形式を理解できません。
htop
126時間実行されるMySQLサーバープロセスがあります。
実行はps -eo etime,command | grep mysql | grep -v grep | awk '{print $1}'
私に9-03:35:32
。
私の推測では、これが9時間、3時間、35分32秒を意味するということだ。 9の単位が何であるかわかりません。
プロセスは126時間、約5.25日間実行されました。これは、上記出力の9が日数を示さないことを示す。また、(9 * 12)時間+3時間+35分+32秒は5日未満なので、反日にはなりません。
長期実行プロセスに表示される経過時間値をどのように解釈しますか?上記の出力で9の横にある単位は何ですか?
答え1
~によると基準:
POSIX言語環境でプロセスが開始されてから経過した時間。形式は次のとおりです。
[[dd-]hh:]mm:ss
ここで、ddは日数、hhは時間、mmは分、ssは秒を表します。 ddフィールドは10進整数でなければなりません。 hh、mm、およびssフィールドは2桁の10進整数でなければならず、左側には0が埋め込まれている必要があります。
信じていないか、9は天国を意味します。 htopの出力を誤って解釈していますか? top(時間形式はminutes:seconds
)とはどういう意味ですか? htopで見ているフィールドはetimeと同じですか? (たとえば、これは126を意味しますか?分~のCPU時間? )