Как проверить, когда процесс перестал работать? [дубликат]

Я пытаюсь понять когда введенная мной команда перестала выполняться, например

sudo apt-get update

Мне нужна такая информация:

started execution at : 12:00
finished execution at : 12:15
2
задан 19 December 2018 в 19:50

2 ответа

Ключевой пункт, который должен быть понят о процессах, - то, что их метаданные не зарегистрированы по умолчанию. Можно, однако, получить определенную информацию, в то время как процесс работает.

Как был указан в связанном вопросе о 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

1
ответ дан 2 December 2019 в 03:30

Как насчет того, чтобы писать наш собственный сценарий удара?

#!/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

Screenshot of the result

Проверьте этот сайт на интересные форматы отображения времени.

1
ответ дан 2 December 2019 в 03:30

Другие вопросы по тегам:

Похожие вопросы: