Bruce O'Neel wrote:
Hi,
Well, not so scary. That's the mac list. From a not so recent mac with Xcode 7 installed it looks like the below.
The good news here is that the common signals have the same numbers. And how often do you get an SIGXCPU?
I was think of SIGUSR1, can be used to useful things (IIRC nginx or apache reload when sent), but that one is not common. :-( Of course, SIGTERM/SIGINT/SIGHUP are, so, yes, these are most important. Herby
cheers
bruce
#define SIGHUP 1 /* hangup */
#define SIGINT 2 /* interrupt */
#define SIGQUIT 3 /* quit */
#define SIGILL 4 /* illegal instruction (not reset when caught) */
#define SIGTRAP 5 /* trace trap (not reset when caught) */
#define SIGABRT 6 /* abort() */
#if (defined(_POSIX_C_SOURCE) && !defined(_DARWIN_C_SOURCE))
#define SIGPOLL 7 /* pollable event ([XSR] generated, not supported) */
#else /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */
#define SIGIOT SIGABRT /* compatibility */
#define SIGEMT 7 /* EMT instruction */
#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */
#define SIGFPE 8 /* floating point exception */
#define SIGKILL 9 /* kill (cannot be caught or ignored) */
#define SIGBUS 10 /* bus error */
#define SIGSEGV 11 /* segmentation violation */
#define SIGSYS 12 /* bad argument to system call */
#define SIGPIPE 13 /* write on a pipe with no one to read it */
#define SIGALRM 14 /* alarm clock */
#define SIGTERM 15 /* software termination signal from kill */
#define SIGURG 16 /* urgent condition on IO channel */
#define SIGSTOP 17 /* sendable stop signal not from tty */
#define SIGTSTP 18 /* stop signal from tty */
#define SIGCONT 19 /* continue a stopped process */
#define SIGCHLD 20 /* to parent on child stop or exit */
#define SIGTTIN 21 /* to readers pgrp upon background tty read */
#define SIGTTOU 22 /* like TTIN for output if (tp->t_local<OSTOP) */
#if (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE))
#define SIGIO 23 /* input/output possible signal */
#endif
#define SIGXCPU 24 /* exceeded CPU time limit */
#define SIGXFSZ 25 /* exceeded file size limit */
#define SIGVTALRM 26 /* virtual time alarm */
#define SIGPROF 27 /* profiling time alarm */
#if (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE))
#define SIGWINCH 28 /* window size changes */
#define SIGINFO 29 /* information request */
#endif
#define SIGUSR1 30 /* user defined signal 1 */
#define SIGUSR2 31 /* user defined signal 2 */
/31 October 2017 14:56 Herby VojÄÃk <herby@mailbox.sk> wrote:/
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. ]