Linux-プロセスがいつ開始したかをどのように確認しますか?


23

pidを知っていると仮定して、プロセスがいつ開始したかを確認するにはどうすればよいですか。(Linuxの場合)

回答:


30

開始時間のみが必要な場合は、フィールドを選択し、これを行うことでヘッダーを非表示にできます。

 ps -p YOURPID -o lstart=

出力は次のようになります。

 Mon Dec 14 17:17:16 2009

これはctime(3)形式であり、それを解析して関連する部分を分割できます。

start、などの他の開始フィールドstimebsdstartおよびstart_time経過時間(24時間後には日付のみが表示されるなど)。

ただし、さらに解析することなく、最近開始したプロセスに直接使用できます。

ps -p YOURPID -o stime=

次のようなものが出力されます:

09:26

これはMacでも動作します!
ブラッドパークズ


8

awk '{print $22}' /proc/$pid/stat -起動後の開始時間をjiffiesで提供します


美しくあいまいな答え!
wzzrd 09

これをなぞってください。稼働時間が「17:57」のシステムには、開始時間が「727975」のプロセスがあります。プロセスは今から8日後に開始されたように見えますか?
スコットパック

1
実際には
わずか

1
あまりにもあいまいです!さらに、ブート時間を調べて、ジフィーを秒に変換し、オフセットを計算してクロック時間を取得するための計算を行う必要があります。簡単ですが、手順が多すぎます。Chopper3の答えをご覧ください。
追って通知があるまで一時停止します。

1秒あたりのjiffiesの量は、システム変数HZに保存されます。:それはあなたが使用する可能性があります。このシェルでそれを計算するには、ほとんど100ですstackoverflow.com/a/44524937/1950345
reichhart

0

openvpnホスト上に特定の名前()などの単一のプロセスがある場合は、次を実行できます。

ps -p `pgrep openvpn` -o lstart=

-1

ps -f | grepを使用する方法の1つとして、pidを使用することもできます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.