web-dev-qa-db-ja.com

開始時間でプロセスを並べ替える

開始時までにプロセスを表示する方法はありますか? tophtopには、プロセスの実行時間で並べ替えるオプションがありますが、プロセスが開始された日時(最新のものが一番上)で並べ替えたいと思います。

2
user1717828

あなたはこのようなものを使うことができます

while sleep 1;do ps -eo start_time,pid,euser,args:100 --sort start_time;done

これにより、実行中のすべてのプロセスが開始時刻順に一覧表示されますが、一番下に表示されます。ループは毎秒更新されます。より細かい期間が必要な場合は、必要に応じてスリープを変更してください。

一番上に最新のものが必要な場合は、tacにパイプできます

while sleep 1;do ps -eo start_time,pid,euser,args:100 --sort start_time | tac ;done

これにより、順序が逆になります。

上記のコメントから、開始時間順にリストすることは本当に欲しいとは思いませんが、プロセスの名前を事前に知っている場合は、

while sleep 0.1;do ps -eo start_time,pid,euser,args:100 | grep YOURCOMMAND;done

その単一のコマンドの開始時刻を確認し、実行されていない場合は何も出力しません。

2
123