Linux - jak mogę zobaczyć, kiedy proces się rozpoczął?

23

Jak mogę zobaczyć, kiedy rozpoczął się proces, zakładając, że znam pid. (W systemie Linux)

Rory
źródło

Odpowiedzi:

30

Jeśli chcesz tylko czas rozpoczęcia, możesz wybrać pole i pominąć nagłówek, wykonując następujące czynności:

 ps -p YOURPID -o lstart=

wynik będzie wyglądał następująco:

 Mon Dec 14 17:17:16 2009

który jest ctime(3)formatem i można go przeanalizować, aby podzielić odpowiednie części.

Pozostałe pola startowe, takie jak start, stime, bsdstarti start_timewiek czasu (po 24 godzinach tylko data jest pokazane, na przykład).

Możesz jednak użyć ich bezpośrednio do ostatnio uruchomionych procesów bez dalszego analizowania:

ps -p YOURPID -o stime=

co da wynik podobny do:

09:26
Wstrzymano do odwołania.
źródło
Działa to również na komputerze Mac!
Brad Parks,
8

„ps -f” - znajduje się na stronach podręcznika

Siekacz 3
źródło
2
I, aby wybrać znany pid:ps -f -p yourpid
Wstrzymano do odwołania.
W rzeczywistości działa to, jeśli proces został rozpoczęty tego samego dnia, ale jeśli został uruchomiony innego dnia, otrzymujesz tylko dzień, ale nie porę dnia jak w odpowiedzi
@DennisWilliamson
8

awk '{print $22}' /proc/$pid/stat - daje czas rozpoczęcia w jiffies po rozruchu

James
źródło
Pięknie niejasna odpowiedź!
wzzrd
Zagadaj mi to. System z czasem sprawności wynoszącym „17: 57” ma proces z czasem uruchomienia „727975”. Wygląda na to, że proces rozpoczął się za 8 dni?
Scott Pack,
1
W rzeczywistości jest w jiffies (100 / s)
MarkR
1
Zbyt niejasne! A poza tym teraz musisz sprawdzić czas rozruchu i wykonać matematykę, aby przekonwertować jiffies na sekundy i obliczyć przesunięcie, aby uzyskać czas zegarowy. Łatwe, ale zbyt wiele kroków. Zobacz odpowiedź Chopper3.
Wstrzymano do odwołania.
Ilość jiffies na sekundę zapisywana jest w zmiennej systemowej HZ. Przeważnie jest to 100. Aby obliczyć to w powłoce, możesz użyć tego: stackoverflow.com/a/44524937/1950345
reichhart
0

Jeśli openvpnna hoście istnieje jeden proces o podanej nazwie (np. ), Możesz wykonać:

ps -p `pgrep openvpn` -o lstart=
aperezbios
źródło
-1

w jeden sposób możesz ps -f | grep, jak powiedziałeś, że pid, w inny sposób możesz także w górnej części

Rajat
źródło