Linux - Como vejo quando um processo foi iniciado?


23

Como posso ver quando um processo começou, supondo que eu conheça o pid. (No Linux)

Respostas:


30

Se você quiser apenas a hora de início, poderá selecionar o campo e suprimir o cabeçalho fazendo o seguinte:

 ps -p YOURPID -o lstart=

a saída ficará assim:

 Mon Dec 14 17:17:16 2009

que é o ctime(3)formato e você pode analisá-lo para dividir as partes relevantes.

Outros campos de início, tais como start, stime, bsdstarte start_timeidade do tempo (após 24 horas apenas a data é mostrado, por exemplo).

No entanto, você pode usá-los diretamente para processos iniciados recentemente sem analisar mais:

ps -p YOURPID -o stime=

que produziria algo como:

09:26

Isso funciona em um mac também!
Brad Parks

8

"ps -f" - está nas páginas de manual


2
E para selecionar o pid conhecido:ps -f -p yourpid
Pausado até novo aviso.

Na verdade Isso funciona se o processo foi iniciado no mesmo dia, mas se ele foi iniciado outro dia você só tem o dia, mas não a hora do dia como no @DennisWilliamson resposta
alphamikevictor

8

awk '{print $22}' /proc/$pid/stat - fornece a hora de início em instantes após a inicialização


Resposta maravilhosamente obscura!
Wzzrd

Enigma-me isso. Um sistema com um tempo de atividade de '17: 57' tem um processo com um horário de início de '727975'. Parece que o processo começou daqui a 8 dias?
21430 Scott Pack

1
Na verdade, está em instantes (100 / s) #
MarkR 18/12/2009

1
Muito obscuro! Além disso, agora você precisa procurar o tempo de inicialização e fazer as contas para converter instantes em segundos e calcular o deslocamento para obter o tempo do relógio. Fácil, mas muitos passos. Veja a resposta do Chopper3.
Pausado até novo aviso.

A quantidade de instantes por segundo é armazenada na variável de sistema HZ. É, sobretudo, 100. Para calculá-lo com casca que você pode usar este: stackoverflow.com/a/44524937/1950345
reichhart

0

Se houver um único processo com um determinado nome (por exemplo openvpn) no host, você poderá:

ps -p `pgrep openvpn` -o lstart=

-1

uma maneira que você pode ps -f | grep como você disse o pid de outra maneira você também pode ser sábio no topo

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.