Как я узнаю, есть ли у процесса тайм-аут в bash?

#linux #bash #scripting #timeout

#linux #bash #сценарии #тайм-аут

Вопрос:

Как я узнаю, действительно ли время ожидания «исполняемого файла» истекло? тайм-аут 1./исполняемый файл

Мне нужно условие для проверки в if-инструкции.

Ответ №1:

Из man timeout (GNU coreutils 8.25):

Если время ожидания команды истекло, а —preserve-status не установлен, завершите работу со статусом 124. В противном случае завершите работу со статусом COMMAND .

Итак, вы можете проверить код выхода, содержащийся в $?, если он равен 124, время ожидания команды истекло:

 timeout 1 ./executable

if [ $? -ne 124 ]; then 
    echo "the command timed out"
fi