Suppose I run a command in one shell session, for example bash -c 'apt-get update && apt-get upgrade'
. 5 minutes later I decide to go outside for a snack, and realize I forgot to add some form of notification mechanism for whether exit was success or failure.
Well, what do I now ? If only I could query from another terminal the exit status of that other command ( or specifically, that PID), maybe I could after all display some sort of pop up. So the question is: how can I query exit status of an already running process from another terminal ?
In other words,
GIVEN that I have a running process in terminal A AND its PID is known
WHEN I execute some command in terminal B
THEN I should be able to know if process in terminal A finishes with exit status 0 or exit status >1.
Use
strace
as follows:Neither system calls nor signals are of interest here, so we tell
strace
to ignore them with the-e
expressions and supress a status message with-q
.strace
attaches to the process with PID$PID
, waits for it to exit normally and outputs its exit status like this:A simple
if
expression to call any type of notification could be:Example run
Most of the credit goes to this answer on U&L, please leave an upvote there if you find this useful.