2017-02-20 2 views
0

Ich versuche die Zeit in Sekunden von dem Prozess, der gestartet wurde, abzurufen. Aber ich kann nur den Tag, aber nicht die komplette Datumszeit bekommen. Unten ist die Sache, die ich gemacht:Wie erfasse ich komplette Datenzeit im Shell-Skript?

ps --user <user Name> -o uid,pid,lstart,cmd:50 --no-heading | 
    tail -n +2 | 

    while read PROC_UID PROC_PID PROC_LSTART PROC_CMD; do 

    echo $PROC_LSTART 

    done 

Thu
Di
Fr
Do 26 09:00:21 2017

Antwort

1

Die "
Do

While the lstart should give me something like : 

Do Jan read "Befehl liest ein Leerzeichen als Feldtrennzeichen, so dass es die lstart-Ausgabe als fünf separate Felder liest, nicht als si ngles Feld. Versuchen Sie Folgendes:

ps --user <user Name> -o uid,pid,lstart,cmd:50 --no-heading | tail -n +2 | 
while read PROC_UID PROC_PID PROC_L1 PROC_L2 PROC_L3 PROC_L4 PROC_L5 PROC_CMD; do 
    echo $PROC_L1 $PROC_L2 $PROC_L3 $PROC_L4 $PROC_L5 
done 
+0

Dies hilft. Gibt es eine Möglichkeit, das Trennzeichen zu ändern? –

+0

Ich bin froh, dass ich helfen konnte. Um deine letzte Frage zu beantworten, ja, benutze AIX Formatdeskriptoren, aber leider unterstützen sie nicht das LSTART Feld (zumindest auf CentOS 6, was ich verwende). Siehe diesen Thread: http://stackoverflow.com/questions/3114741/generating-a-csv-list-from-linux-ps – Leslie

+0

Ehrfürchtig .. danke –

Verwandte Themen