過去7日間にLinuxで実行されているプロセスを識別する方法は?
答え1
開始は次のとおりです。
ps -eoetime,pid,user,cmd --sort -etime
表示する情報を選択できます。man ps
長いリストをご覧ください。上記のコマンドは、すべてのプロセスを経過時間の降順でリストします。少なくとも7日間実行されたgrep
プロセスawk
のみを表示するには、データに対して操作を実行する必要があります。etime
pid
残念ながら、このetime
形式はスクリプトよりも人のために設計されていますが、以下は機能します(まだテストしていませんが)。
ps -eoetime=,pid= | awk 'int(substr($1,1,index($1,"-"))) >= 7 { print }'
コマンドラインオプションの簡単な説明:
-e show all processes
-eo... same as -e -o...
-oetime=,pid= for each process, print the elapsed time and pid.
The '=' suppress the column headers
--sort -etime sort the processes in descending order by elapsed time
(+etime would have been ascending order)