Re: [Pharo-users] What is code 137 / how to gracefully shut down via SIGTERM?
Hi, Posix requires that if the process is killed the return status is greater than 128. What is convention on linux systems is that if the process is sent a signal then the signal number is added to 128. Â Therefore 137 is SIGKILL (kill -9). Â SIGTERM is 143, SIGABRT is 134, SIGSEGV is 139, and so on. Â I've not seen an exception to this but there could be. Signals off of my closest linux system look like: #define SIGHUP Â Â Â Â Â 1 #define SIGINT Â Â Â Â Â 2 #define SIGQUITÂ Â Â Â Â 3 #define SIGILL Â Â Â Â Â 4 #define SIGTRAPÂ Â Â Â Â 5 #define SIGABRTÂ Â Â Â Â 6 #define SIGIOT Â Â Â Â Â 6 #define SIGBUS Â Â Â Â Â 7 #define SIGFPE Â Â Â Â Â 8 #define SIGKILLÂ Â Â Â Â 9 #define SIGUSR1 Â Â Â Â 10 #define SIGSEGV Â Â Â Â 11 #define SIGUSR2 Â Â Â Â 12 #define SIGPIPE Â Â Â Â 13 #define SIGALRM Â Â Â Â 14 #define SIGTERM Â Â Â Â 15 SIGHUP is the phone hung up. Â SIGINT is interrupt (^C) SIGILL is you tried to execute an illegal instruction, SIGBUS is Bus error, normally you tried to read a 32 bit value on a non-32 bit boundary and uncommon on x86, SIGFPE is a floating point error, SIGKILL is too bad, you're dead, SIGSEGV is you tried to read/write memory that was not allowed, and SIGTERM is the normal "please exit" signal. cheers bruce
werner kassens wrote:
Hi Herby, eventually you might want to look at https://github.com/moby/moby/issues/1063 but then i dont know anything about these things.
Hopefully they have this solved already... but I learned 137 means "killed". generally; did not know. :-)
werner
Herby
Hi,
Bruce O'Neel wrote:
Hi,
Posix requires that if the process is killed the return status is greater than 128.
What is convention on linux systems is that if the process is sent a signal then the signal number is added to 128. Therefore 137 is SIGKILL (kill -9). SIGTERM is 143, SIGABRT is 134, SIGSEGV is 139, and so on. I've not seen an exception to this but there could be.
Signals off of my closest linux system look like:
#define SIGHUP 1 #define SIGINT 2 #define SIGQUIT 3 #define SIGILL 4 #define SIGTRAP 5 #define SIGABRT 6 #define SIGIOT 6 #define SIGBUS 7 #define SIGFPE 8 #define SIGKILL 9 #define SIGUSR1 10 #define SIGSEGV 11 #define SIGUSR2 12 #define SIGPIPE 13 #define SIGALRM 14 #define SIGTERM 15
Scary, because Esteban's sigtrapping package has them defined a bit differently: { #category : #'class initialization' } POSIXSignal class >> initialize [ SIGHUP := 1. SIGINT := 2. SIGQUIT := 3. SIGILL := 4. SIGTRAP := 5. SIGABRT := 6. SIGPOLL := 7. SIGIOT := SIGABRT. SIGEMT := 7. SIGFPE := 8. SIGKILL := 9. SIGBUS := 10. SIGSEGV := 11. SIGSYS := 12. SIGPIPE := 13. SIGALRM := 14. SIGTERM := 15. SIGURG := 16. SIGSTOP := 17. SIGTSTP := 18. SIGCONT := 19. SIGCHLD := 20. SIGTTIN := 21. SIGTTOU := 22. SIGIO := 23. SIGXCPU := 24. SIGXFSZ := 25. SIGVTALRM := 26. SIGPROF := 27. SIGWINCH := 28. SIGINFO := 29. SIGUSR1 := 30. SIGUSR2 := 31. ]
participants (2)
-
Bruce O'Neel -
Herby VojÄÃk