Supongamos que ejecuto un comando en una sesión de shell, por ejemplo bash -c 'apt-get update && apt-get upgrade'
. 5 minutos después, decido salir a tomar un refrigerio y me doy cuenta de que olvidé agregar algún tipo de mecanismo de notificación para saber si la salida fue exitosa o no.
Bueno, que hago ahora? Si solo pudiera consultar desde otro terminal el estado de salida de ese otro comando (o específicamente, ese PID), tal vez podría después de todo mostrar algún tipo de ventana emergente. Entonces la pregunta es: ¿cómo puedo consultar el estado de salida de un proceso que ya se está ejecutando desde otro terminal?
En otras palabras,
DADO que tengo un proceso en ejecución en la terminal A Y se conoce su PID
CUANDO ejecuto algún comando en la terminal B
ENTONCES debería poder saber si el proceso en la terminal A finaliza con el estado de salida 0 o el estado de salida> 1.
wait
para obtener el código de un proceso en segundo plano en su shell actual, después de que finalice, pero no pude encontrar nada que permitiera consultar otros shells. Simplemente monitorear si un proceso aún se está ejecutando y generar una alerta una vez que sale también es trivial nuevamente, pero no descubrir su código de salida. La única forma en que podría pensar sería en preparar su shell PROMPT_COMMAND
para almacenar el último código de salida en un archivo temporal o ubicación accesible similar. ¿Sería esa una opción?