GNU/Linux >> Linux の 問題 >  >> Linux

Linux – Ps Lstartの出力が変更されましたか?

プログラムを開始し、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
  1. Linux –ヘッドフォンが機能しないLinux Mint 18?

  2. Linux 時間コマンドの例

  3. Linuxはコンソール出力をログファイルに追加しますか?

  1. 別のコマンドのパラメーターとしての Linux コマンド出力

  2. Linux X11 のバージョンを確認するには?

  3. Linux lsblk 出力

  1. Linuxコマンドの出力を変数に割り当てる方法

  2. Linuxでコマンド出力をファイルに保存する方法

  3. Linuxで出力をファイルとStdoutにリダイレクトする方法