Предположим, я запускаю команду в одном сеансе оболочки, например bash -c 'apt-get update && apt-get upgrade'
. Спустя 5 минут я решил выйти на улицу, чтобы перекусить, и понял, что забыл добавить какой-то механизм уведомления о том, был ли выход успешным или неудачным.
Ну а что мне теперь? Если бы только я мог запросить у другого терминала состояние выхода этой другой команды (или, в частности, этого PID), возможно, я мог бы в конце концов отобразить какое-то всплывающее окно. Итак, вопрос: как я могу запросить состояние выхода уже запущенного процесса с другого терминала?
Другими словами,
ПОДАРОК, что у меня запущен процесс в терминале А, и известен его PID
КОГДА я выполняю какую-то команду в терминале B
ПОТОМ я должен быть в состоянии знать, завершается ли процесс в терминале со статусом выхода 0 или статусом выхода> 1.
wait
чтобы получить код фонового процесса в вашей текущей оболочке после его завершения, но я не смог найти ничего, что позволило бы запрашивать другие оболочки. Простой мониторинг того, запущен ли еще какой-либо процесс и вызывает ли предупреждение после его выхода, также тривиально, но не выясняет его код завершения. Единственный способ, который я мог бы придумать, - это подготовить вашу оболочку PROMPT_COMMAND
для хранения последнего кода выхода в временном файле или аналогичном доступном месте. Будет ли это вариант?