web-dev-qa-db-ja.com

終了または強制終了されたプロセスを確認するUnix / Linuxコマンド

実行が終了した、または一定時間前に殺されたプロセスを確認する方法はありますか?

例えば、 ps -efは実行中のすべてのプロセスを表示しますが、プロセスが終了した場合、このコマンドによって返されなくなります。たとえば、1時間前に実行されていたプロセス(およびそのコマンド)を確認したい場合、それを行うコマンドはありますか?または、使用されなくなったプロセスのログ?

1時間前にメッセージを調査しようとして、できるだけ多くの情報が必要です。

乾杯

3
Rooster

その情報はシステムログ/var/log/syslogおよび/var/log/messages

どのプロセスだったかによっては、開始時間などに関する情報を見つけることができる場合があります。

例:

Feb  1 12:31:21 centos7 NetworkManager[809]: <info> dhclient started with pid 1319

リソースの使用状況を調査している場合は、pidstatを使用してログに記録し、ログファイルに書き込むことができます。

また、一部のアプリケーションはPIDファイルを書き込むので、将来のためにログに記録することもできます。

6
PoX

事前に設定を行わないと、必要なものが得られませんが、psacctはプロセスを追跡しますが、ストレージを確認する必要があります。次に、lastcommとあらゆる種類のツールを使用して、何がいつどのユーザーによって実行されていたかを確認します。ルールを正しく設定している場合は、監査も行われる場合があります。

ただし、これらを事前に設定していない場合、プログラムが独自のロギングを行わないと、多くの情報を見つけることができない場合があります。

1
lsd