Der Befehl ps (zumindest die von vielen Linux-Distributionen verwendete procps-Version) enthält eine Reihe von Formatfeldern, die sich auf die Prozessstartzeit beziehen, einschließlich lstart
der Angaben zum vollständigen Datum und zur Uhrzeit des Starts des Prozesses:
# ps -p 1 -wo pid,lstart,cmd
PID STARTED CMD
1 Mon Dec 23 00:31:43 2013 /sbin/init
# ps -p 1 -p $$ -wo user,pid,%cpu,%mem,vsz,rss,tty,stat,lstart,cmd
USER PID %CPU %MEM VSZ RSS TT STAT STARTED CMD
root 1 0.0 0.1 2800 1152 ? Ss Mon Dec 23 00:31:44 2013 /sbin/init
root 5151 0.3 0.1 4732 1980 pts/2 S Sat Mar 8 16:50:47 2014 bash
Eine Diskussion darüber, wie die Informationen im Dateisystem / proc veröffentlicht werden, finden Sie unter
/unix/7870/how-to-check-how-long-a-process-has-been-running
(Nach meiner Erfahrung unter Linux scheint sich der Zeitstempel in den Verzeichnissen / proc / auf einen Moment zu beziehen, in dem kürzlich auf das virtuelle Verzeichnis zugegriffen wurde, und nicht auf die Startzeit der Prozesse:
# date; ls -ld /proc/1 /proc/$$
Sat Mar 8 17:14:21 EST 2014
dr-xr-xr-x 7 root root 0 2014-03-08 16:50 /proc/1
dr-xr-xr-x 7 root root 0 2014-03-08 16:51 /proc/5151
Beachten Sie, dass ich in diesem Fall gegen 16:50 Uhr einen Befehl "ps -p 1" ausführte, dann eine neue Bash-Shell erzeugte und kurz darauf den Befehl "ps -p 1 -p $$" in dieser Shell ausführte ... .)
ps -p <pid> -o lstart
? Scheint so, als ob es funktioniert, aber ich bin mir nicht sicher, warum es nicht die unmittelbare offensichtliche Antwort für die vielen Male ist, in denen diese Frage auftaucht.