Поскольку «uptime» имеет несколько значений, вот полезная команда.
ps -eo pid,comm,lstart,etime,time,args
Эта команда выводит список всех процессов с несколькими разными столбцами времени. Имеет следующие столбцы:
PID COMMAND STARTED ELAPSED TIME COMMAND
PID
=
Сначала идентификатор процесса COMMAND
= только имя команды без параметров и без аргументов
STARTED
= абсолютное время, когда процесс был запущен
ELAPSED
= время, прошедшее с момента запуска процесса (время по настенным часам ), формат [[dd-] чч:] мм: сс
TIME
= накопительное Время ЦП, формат «[dd-] чч: мм: сс»
секунда COMMAND
= снова команда, на этот раз со всеми предоставленными параметрами и аргументами
etimes
себя - прошедшее время в секундах - так что это машиночитаемоЕсли у вас есть ограниченная версия,
ps
например, в которойbusybox
вы находитесь, вы можете узнать время запуска процесса, посмотрев на метку времени/proc/<PID>
. Например, если вы хотите посмотреть pid 55 ...... а затем сравнить его с текущей датой ...
источник
Я думаю, что вы можете просто запустить:
1234 - это идентификатор процесса.
Пример с двумя процессами, запущенными в один и тот же час, минуты, но не в те же миллисекунды:
источник
На такую простую вещь не правильно ответили через 5 лет?
Я не думаю, что вы можете точно получить миллисекунды. например. если вы увидите
man procfs
и увидите,/proc/$$/stat
у кого поле 22 имеет звездное время, а в «тиках часов» у вас есть что-то более точное, но тики часов не идут с совершенно постоянной скоростью (относительно «времени настенных часов») и будут не спать ... и некоторые вещи (я думаю, ntpd) компенсируют это. Например, на машине с запущенным ntpd с 8-дневным временем безотказной работы, которая никогда не спала,dmesg -T
возникает та же проблема (я думаю ...), и вы можете увидеть ее здесь:Вот секунды:
источник
да, слишком старые и все же слишком тяжелые вещи. Я попытался с помощью предложенного выше метода «stat», но что, если у меня вчера был «прикосновение» к директории PID proc? Это означает, что мой годовалый процесс показан со вчерашней отметкой времени. Нет, не то что мне нужно :(
В более новых, это просто:
так просто, как, что. Время присутствует в секундах. Делай то, что тебе нужно. С некоторыми старыми коробками ситуация сложнее, потому что нет времени. Можно полагаться на:
который выглядит немного странным, поскольку он находится в формате дд-чч: мм: сс. Не подходит для дальнейшего расчета. Я бы предпочел это в считанные секунды, поэтому я использовал это:
источник
pidof java
=> идентификатор процесса для процесса Javaetimes=
=> время в секундах и '=' - удалить заголовокисточник