GNU/Linux >> Linux Esercitazione >  >> Linux

Linux – L'output di Ps Lstart è cambiato?

Ho avviato un programma e ho scritto l'output di ps -p PID -o lstart= in un file, in questo modo:

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

Ma quando rieseguo ps in seguito ottengo un risultato leggermente diverso:

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

Avevo l'impressione che lstart= stamperebbe l'ora di inizio di un determinato processo. Perché ricevo un'ora di inizio diversa quando richiamo ps ?

Risposta accettata:

Avevo sospettato (ma non ero stato in grado di replicare) che il problema fosse in qualche modo correlato a un exec call o qualcosa di simile che stava sostituendo il processo in esecuzione, mantenendo lo stesso PID ma ripristinando l'ora di inizio. Si scopre che la spiegazione è molto più semplice (e sfortunatamente non ho incluso abbastanza dettagli nella domanda originale).

Come dettagliato in questo follow-up, un aggiornamento NTP stava cambiando il mio orologio di sistema tra i ps chiamate. Apparentemente lstart rispetta gli aggiornamenti dell'orologio (il che ha senso, ma mi ha comunque sorpreso in qualche modo), il che significa che non puoi fare affidamento sull'output di lstart per rimanere coerenti per tutta la durata di un singolo processo.


Linux
  1. Linux – Le cuffie non funzionano Linux Mint 18?

  2. Esempi di comandi temporali di Linux

  3. tee Esempi di comandi in Linux

  4. Linux aggiunge l'output della console a un file di registro?

  5. Output del comando Linux come parametro di un altro comando

comando iftop in Linux

Strumento htop in Linux

Comando lsblk in Linux

Che cos'è "/dev/null 2&1" in Linux

Spiegazione del reindirizzamento di input e output su Linux

Esempi di comandi echo Linux