過去10秒間に実行されたプロセスを記録して一覧表示するビューはありますか?
特にコマンドラインを追跡したいと思います。
答え1
プロセスが完了していない場合は、次の方法で見つけることができます。
ps axho etime,cmd| sed ':a;s/^\(0*\) /\10/g;ta' | sort | less
しかし、プロセスがすでに完了している場合、確実性が低下します。
検索する場所を知る必要があります...
警告する!以下は、バイナリがキャッシュにない場合、つまりしばらくアクセスされなかった場合にのみ機能します。
おそらく単純なものでls -ltru
十分です。
/bin/ls -ltru /etc/init.d | tail
そうしないと、次のようなより複雑なコマンドが発生する可能性があります。
find /usr/bin -type f -amin -1
find ${PATH//:/ } -type f -amin -1
find ${PATH//:/ } /home/*/bin -type f -amin -1
1分以内にアクセスしたすべてのファイルが表示されます。
10秒ははるかに難しいです。
while read time;do
read name
[ $time -lt 10 ] && echo $name
done < <(find ${PATH//:/ } /home/*/bin -type f -amin -1 -print0 |
xargs -0 --no-run-if-empty stat -c $(date +%s)$'-%X ;"%n\n"' |
bc)
答え2
この試み:
ps k-etime h -eo etimes,command | while read etime comm; do [ $etime -lt 10 ] && echo -e "$etime\t$comm"; done
これにより、過去10秒以内に開始され、まだ実行中のすべてのプロセスが表示されます。