Good evening to the stack community. I am studying man bash, and in "shell grammar" I have a doubt, which, in principle, is not strictly programming, so if it is considered out of place (I hope you tell me if it is), edit to delete it .
According to man bash:
The return value of a simple command is its output state, or 128 + n if the command has ended due to the signal n.
I understand that the signals referred to are those described in the man signal, such as SIGKILL (9), which kills a process, or SIGILL (4), referring to an illegal instruction. However, well read the man signal,
Linux supports real-time signals as originally defined in POSIX.4 real-time extensions (now included in POSIX 1003.1-2001). Linux supports 32 signals in real time, numbered from 32 (SIGRTMIN) to 63 (SIGRTMAX). (Programs should always reference real-time signals using the SIGRTMIN + n notation, since the range of real-time signal numbers varies between Unix systems.)
(The signals from 1 to 31 would be the standard signals).
Is there, then, the signal 128? What does it mean and where is it defined?
[email protected]:~/scripts$ uname -r && bash --version 4.16.0-686-pae GNU bash, versión 4.4.23(1)-release (i686-pc-linux-gnu)
Thanks in advance.
Edit: Assuming that 128 + n is a real-time signal (the same is too much to assume for me), the value returned by a simple command, when the order ends with the signal n, should not be 32 + n (SIGRTMIN + n) ?
I said: thank you very much, and if the question exceeds the scope of stackoverflow, let me know, I'll remove the question.