Как я могу узнать, когда начался процесс, если я знаю 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, иначе вы также можете увидеть вверху