プログラムを開始し、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
を再度呼び出すと、開始時刻が異なるのはなぜですか。 ?
承認された回答:
問題が何らかの形でexec
に関連しているのではないかと疑っていました(ただし、再現できませんでした)。 同じPIDを維持しながら、開始時刻をリセットして、実行中のプロセスを置き換えていた呼び出しなど。説明ははるかに簡単であることがわかりました(残念ながら、元の質問には十分な詳細が含まれていませんでした)。
このフォローアップで詳しく説明されているように、NTPの更新により、システムクロックがps
の間で変更されていました。 呼び出します。どうやらlstart
時計の更新を尊重します(これは理にかなっていますが、それでも多少驚いています)。つまり、lstart
の出力に頼ることはできません。 単一のプロセスの存続期間にわたって一貫性を保つため。
標準入力から数列のグラフィカルなプロットを作成するにはどうすればよいですか?
Linux – Linuxディストリビューションで実行されるアプリケーションを作成する場合、何に注意する必要がありますか?