ps
演習の一部としてコマンドを使用して、特定のしきい値よりも長く実行されているプロセスを特定しています。
次のテンプレートを使用して、knowプロセスコマンドの経過時間を取得しています。
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に付随する単位は何ですか?
etimes
代わりに試しetime
て結果を比較してください。
ps
は、渡すオプションに応じて、どちらか一方を表示します。