Я хотел бы знать любую команду, которую я могу запустить, чтобы узнать время окончания процесса.
Я уже запустил процесс и знаю его PID, но я хочу знать, есть ли какая-нибудь команда, которая может сказать мне, в какое время он закончился.
Спасибо за вашу помощь.
Запустите это:
while kill -0 <PID>; do sleep 1; done; echo "Process finished at $(date +"%F %T")."
Или вы можете сделать скрипт bash. wait-for-death.sh
:
#!/bin/bash
if ! kill -0 $1; then
echo "Process $1 doesn't exist."
exit 1
fi
while kill -0 $1; do
sleep 1
done
echo "Process $1 finished at $(date +"%F %T")."
Затем дайте ему разрешение на выполнение:
chmod +x wait-for-death.sh
и запустите его, передав процесс PID:
./wait-for-death.sh <PID>
Если вы хотите избежать коллизий PID, вы можете использовать at
:
job_id=$(at now <<< 'sleep 10' 2>&1 | awk 'END {print $2}')
while at -l | grep -q "^${job_id}\s"
do
sleep 1
done
echo "Process finished at $(date)"
Может быть, команда time
подойдет вам:
time [options] command [arguments...]
Пример:
time /local/usr/bin/myProcess arg1 arg2
После завершения процесса time
будет отображаться некоторая статистика, например время, затраченное на завершить процесс (думаю, за несколько секунд).
Проверьте справочную страницу или просто загляните на эту онлайновую справочную страницу .