2016-04-14 6 views
0

Ich bin mit dem folgend:Wie erhalten Sie die Startzeit des Prozesses im HH: MM: SS-Format mit Unix-Shell-Skript?

ptime=`ps aux | grep $PROCESS | awk {'print $9'} | head -$i | tail -1 

aber ich bin die Startzeit des Prozesses in HH::MM Format bekommen.

aber ich möchte die Zeit in HH:MM:SS Format Shell-Skript

+0

Zuerst ist Ihre Syntax falsch: 'awk {'print $ 9'}' ändern Sie es mit 'awk '{print $ 9}''. Welches Betriebssystem verwendest du? normalerweise ps aux zeigen auch die 'SS', wenn Sie Zeit drucken. Bist du sicher, dass die Spalte $ 9 die richtige ist? – ClaudioM

Antwort

1

Sie ps mit Optionen wie folgt aus man-Seite verwenden könnte

Info von der man-Seite von ps auf einem Linux-Rechner.

-A   Select all processes. Identical to -e. 
-o format user-defined format. 
      format is a single argument in the form of a blank-separated 
      or comma-separated list, which offers a way to specify 
      individual output columns. 
etime  ELAPSED elapsed time since the process was started, in the 
      form [[dd-]hh:]mm:ss. 


    ps -Ao pid,etime,comm | grep <process> 

$ ps -Ao pid,etime,comm | grep sftp-server 

85587 16-02:17:01 sftp-server 
+0

Fügen Sie ein '| awk {'print $ 2'} 'zusammen mit der Ausgabe, wenn Sie die Zeit alleine brauchen. – Inian

+0

Oder kombinieren Sie grep und awk in einem awk: '... | awk '/' "$ pid" '/' {print $ 2} ' – andlrc

+0

@Swapnil Sharma: Können Sie die Antwort bestätigen und akzeptieren, wenn sie funktioniert? Damit es für andere nutzbar gemacht werden kann? – Inian

Verwandte Themen