Назад | Перейти на главную страницу

Linux - как узнать, когда процесс начался?

Как я могу узнать, когда начался процесс, если я знаю pid. (В Linux)

Если вам нужно только время начала, вы можете выбрать поле и отключить заголовок, выполнив следующие действия:

 ps -p YOURPID -o lstart=

вывод будет выглядеть так:

 Mon Dec 14 17:17:16 2009

который ctime(3) формат, и вы можете проанализировать его, чтобы разделить соответствующие части.

Другие начальные поля, такие как start, stime, bsdstart и start_time время (например, через 24 часа отображается только дата).

Однако вы можете использовать их напрямую для недавно запущенных процессов без дальнейшего анализа:

ps -p YOURPID -o stime=

что выведет что-то вроде:

09:26

awk '{print $22}' /proc/$pid/stat - дает вам время старта в мгновение ока после загрузки

"ps -f" - это на страницах руководства

Если есть один процесс с заданным именем (например, openvpn) на хосте вы можете:

ps -p `pgrep openvpn` -o lstart=

в одну сторону вы можете ps -f |grep <pid> как вы сказали, вы pid, иначе вы также можете увидеть вверху