
私はプログラムを起動し、次ps -p PID -o lstart=
のファイルに出力を書きました。
$ long_running_command &
[1] 4562
$ ps -p $! -o lstart= > start_time
$ cat start_time
Wed Apr 6 06:16:31 2016
ただし、後でやり直すとps
若干異なる結果が表示されます。
$ ps -p 4562 -o lstart=
Wed Apr 6 06:16:53 2016
私の印象はlstart=
印刷されると思います。特定プロセスの開始時間。もう一度電話すると、開始時間が異なるのはなぜですかps
?
答え1
私は問題がexec
実行中のプロセスを呼び出すか、同じように置き換えて同じPIDを維持しますが、開始時間をリセットすることに関連していると思っていました(しかし再現することはできませんでした)。説明がはるかに簡単であることがわかりました(残念ながら、元の質問には十分な詳細が含まれていませんでした)。
もっとこのフォローアップ、NTPアップデートは、ps
呼び出しの間にシステムクロックを変更しています。明らかに時計の更新を尊重するということは(これは言いますが、まだ少し驚くべきことです)、単一プロセスの寿命の間に出力が一貫してlstart
依存することができないことを意味します。lstart