GNU/Linux >> Belajar Linux >  >> Linux

Linux – Output Dari Ps Lstart Berubah?

Saya memulai sebuah program dan menulis output dari ps -p PID -o lstart= ke file, seperti:

$ long_running_command &
[1] 4562
$ ps -p $! -o lstart= > start_time
$ cat start_time
Wed Apr  6 06:16:31 2016

Tetapi ketika saya menjalankan kembali ps nanti saya mendapatkan hasil yang sedikit berbeda:

$ ps -p 4562 -o lstart=
Wed Apr  6 06:16:53 2016

Saya mendapat kesan bahwa lstart= akan mencetak waktu mulai dari proses yang diberikan. Mengapa saya mendapatkan waktu mulai yang berbeda ketika saya memanggil kembali ps ?

Jawaban yang Diterima:

Saya telah menduga (tetapi tidak dapat mereplikasi) bahwa masalah tersebut entah bagaimana terkait dengan exec panggilan atau sesuatu yang serupa yang menggantikan proses yang sedang berjalan, menjaga PID yang sama tetapi mengatur ulang waktu mulai. Ternyata penjelasannya jauh lebih sederhana (dan sayangnya saya tidak memasukkan cukup detail dalam pertanyaan awal).

Seperti yang dijelaskan dalam tindak lanjut ini, pembaruan NTP mengubah jam sistem saya antara ps panggilan. Rupanya lstart menghormati pembaruan jam (yang masuk akal, tetapi masih agak mengejutkan saya), artinya Anda tidak dapat mengandalkan output lstart untuk tetap konsisten selama masa hidup satu proses.


Linux
  1. Contoh Perintah tee di Linux

  2. Linux menambahkan output konsol ke file log?

  3. Keluaran perintah Linux sebagai parameter dari perintah lain

  1. Cara Menyimpan Output Perintah ke File di Linux

  2. Cara Mengarahkan Output ke File dan Stdout di Linux

  3. bagaimana cara memeriksa versi linux X11?

  1. Cara Menetapkan Output dari Perintah Linux ke Variabel

  2. Pengalihan Input/Output di Linux/Unix

  3. Linux – Headphone Tidak Berfungsi Linux Mint 18?