Gostaria de conhecer qualquer comando que possa executar para saber o horário final de um processo.
Já iniciei o processo e conheço seu PID, mas quero saber se existe algum comando que possa me dizer a que horas ele terminou.
Obrigado pela ajuda.
Gostaria de conhecer qualquer comando que possa executar para saber o horário final de um processo.
Já iniciei o processo e conheço seu PID, mas quero saber se existe algum comando que possa me dizer a que horas ele terminou.
Obrigado pela ajuda.
Respostas:
Rode isto:
while kill -0 <PID>; do sleep 1; done; echo "Process finished at $(date +"%F %T")."
Ou você pode criar um script 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")."
Em seguida, dê permissão de execução:
chmod +x wait-for-death.sh
e execute-o passando o processo 'PID:
./wait-for-death.sh <PID>
while kill -0 <pid>; do ...
é mais portátil - também funcionará em sistemas não Linux. E não há razão para usar o bash - seu código não usa nenhum bashism, por isso /bin/sh
é perfeitamente adequado aqui.
kill -0
, acho que é uma solução mais elegante.
Talvez o comando seja time
adequado à sua necessidade:
time [options] command [arguments...]
Exemplo:
time /local/usr/bin/myProcess arg1 arg2
time
Quando o processo terminar , algumas estatísticas serão exibidas, como o tempo necessário para concluir o processo (em segundos, eu acho).
Verifique a página de manual ou apenas dê uma olhada nesta página de manual online .
time
não é uma opção.
at
(consulte a página de manual:)man at
. Isso o enfileirará como um trabalho, você será notificado quando terminar, etc. É muito básico, semelhante ao Cron, mas para fotos únicas de trabalhos.