На этот вопрос уже есть ответ здесь:
Я пытаюсь понять когда введенная мной команда перестала выполняться, например
sudo apt-get update
Мне нужна такая информация:
started execution at : 12:00
finished execution at : 12:15
Ключевой пункт, который должен быть понят о процессах, - то, что их метаданные не зарегистрированы по умолчанию. Можно, однако, получить определенную информацию, в то время как процесс работает.
Как был указан в связанном вопросе о StackOverflow в ответе wlk, время начала может быть получено через -o
флаг к ps
и ltime
спецификатор формата:
ps -eo pid,lstart,cmd
Остановите время, однако, обычно не прослеживается системой, таким образом, это - что-то, что необходимо будет отследить сами. Зная PID процесса, Вы могли опросить относительно того, что существование PID, и повторяет метку времени, когда это исчезает
while kill -s 0 $pid ; do : ; sleep 0.25 ; done && date
См. также: https://stackoverflow.com/a/5207048/3701431
Как насчет того, чтобы писать наш собственный сценарий удара?
#!/bin/bash
start_time=$(date +"%T")
$*
finish_time=$(date +"%T")
echo "started execution at : $start_time"
echo "finished execution at : $finish_time"
Сохраните сценарий как logscript.sh
Сделайте это исполняемым файлом при помощи chmod +x logscript.sh
Можно выполнить использование 'команды' ./logscript.sh command
Например, ./logscript.sh sudo apt-get update
Проверьте этот сайт на интересные форматы отображения времени.