Припустимо, я запускаю команду в одному сеансі оболонки, наприклад bash -c 'apt-get update && apt-get upgrade'
. Через 5 хвилин я вирішу вийти на закуску і зрозумію, що забув додати певну форму механізму оповіщення щодо того, чи був вихід успішним чи невдалим.
Ну, що мені тепер? Якби тільки я міг запитати з іншого терміналу статус виходу цієї іншої команди (або конкретно, цього PID), можливо, я міг би зрештою відобразити якесь спливаюче вікно. Отже, питання: як я можу запитати статус виходу вже запущеного процесу з іншого терміналу?
Іншими словами,
ВІДПОВІДИ, що у мене є запущений процес в терміналі A І його PID відомий
КОЛИ я виконую якусь команду в терміналі B
Тоді я повинен мати можливість знати, чи закінчується процес у терміналі A зі статусом виходу 0 або статусом виходу> 1.
wait
код фонового процесу у вашій поточній оболонці після його закінчення, але я не зміг знайти нічого, що дозволило б запитувати інші оболонки. Просто моніторинг того, чи є процес все ще запущений, і підняття попередження після його завершення також знову тривіально, але не з'ясування його вихідного коду. Єдиний спосіб, про який я міг би подумати, вимагав би підготувати оболонку PROMPT_COMMAND
для зберігання останнього коду виходу у тимпфілі чи подібному доступному місці. Це був би варіант?