URL: https://linuxfr.org/forums/programmation-shell/posts/signaux-temps-r%C3%A9els-rtmin Title: SIgnaux temps réels (RTMIN ...) Authors: ElFenec Date: 2007年02月15日T17:21:46+01:00 Tags: Score: 0 Bonjour, J'ai un script shell qui s'execute sous différentes plateformes, notamment tru64 et des machines linux standard. Dans ce script une ligne de commande effectue : kill -RTMIN $PID sous true64 (et en korn shell), aucun problème le script fonctionne correctement. Ce n'est en revanche pas le cas sous Linux. En théorie de ce que j'ai pu glaner comme informations, les signaux temps réels sont "en général" du numéro 32 (RTMIN) au numéro 63 (RTMAX). Il faut cependant utilliser les dénominations RTMIN RTMIN+1 etc puisque le numéro associé peut différer d'une machine à l'autre. Mon problème lorsque j'éxecute ce script est qu'il me donne un résultat du genre : [...] bad signal 'RTMIN' J'ai déjà essayé de remplacer par SIGRTMIN, même résultat. Autre bizzarerie, je suis par défaut en bash et un kill -l me donne : 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP 21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR 31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3 38) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8 43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13 48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7 58) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2 63) SIGRTMAX-1 64) SIGRTMAX mais si je passe en korn shell : kill -l donne : 1 HUP Hangup 33 33 Signal 33 2 INT Interrupt 34 34 Signal 34 3 QUIT Quit 35 35 Signal 35 4 ILL Illegal instruction 36 36 Signal 36 5 TRAP Trace trap 37 37 Signal 37 6 ABRT Abort 38 38 Signal 38 7 BUS Bus error 39 39 Signal 39 8 FPE Floating point exception 40 40 Signal 40 9 KILL Killed 41 41 Signal 41 10 USR1 User defined signal 1 42 42 Signal 42 11 SEGV Memory fault 43 43 Signal 43 12 USR2 User defined signal 2 44 44 Signal 44 13 PIPE Broken pipe 45 45 Signal 45 14 ALRM Alarm clock 46 46 Signal 46 15 TERM Terminated 47 47 Signal 47 16 STKFLT Stack fault 48 48 Signal 48 17 CHLD Child exited 49 49 Signal 49 18 CONT Continued 50 50 Signal 50 19 STOP Stopped (signal) 51 51 Signal 51 20 TSTP Stopped 52 52 Signal 52 21 TTIN Stopped (tty input) 53 53 Signal 53 22 TTOU Stopped (tty output) 54 54 Signal 54 23 URG Urgent I/O condition 55 55 Signal 55 24 XCPU CPU time limit exceeded 56 56 Signal 56 25 XFSZ File size limit exceeded 57 57 Signal 57 26 VTALRM Virtual timer expired 58 58 Signal 58 27 PROF Profiling timer expired 59 59 Signal 59 28 WINCH Window size change 60 60 Signal 60 29 IO I/O possible 61 61 Signal 61 30 PWR Power-fail/Restart 62 62 Signal 62 31 UNUSED Unused 63 63 Signal 63 32 32 Signal 32 64 64 Signal 64 juste pour info sur ma machine (tru64) : kill -l donne : 1) HUP 13) PIPE 25) XFSZ 37) RTMIN+4 2) INT 14) ALRM 26) VTALRM 38) RTMIN+5 3) QUIT 15) TERM 27) PROF 39) RTMIN+6 4) ILL 16) URG 28) WINCH 40) RTMIN+7 5) TRAP 17) STOP 29) PWR 41) RTMAX-7 6) LOST 18) TSTP 30) USR1 42) RTMAX-6 7) EMT 19) CONT 31) USR2 43) RTMAX-5 8) FPE 20) CHLD 32) RESV 44) RTMAX-4 9) KILL 21) TTIN 33) RTMIN 45) RTMAX-3 10) BUS 22) TTOU 34) RTMIN+1 46) RTMAX-2 11) SEGV 23) POLL 35) RTMIN+2 47) RTMAX-1 12) SYS 24) XCPU 36) RTMIN+3 48) RTMAX si je remplace dans mon script RTMIN par 34, alors il marche ... mais mon script commence par #!/bin/ksh alors que l'association de 34 au signal RTMIN correspond a priori au bash ... bref je suis perdu, si quelqu'un pourrait m'éclaircir le sujet car au final mon objectif : > avoir un script unique pour les deux plateformes (ou il n'y a pas de if linux blabla, if tru64 blabla) ou l'on utilise pas le numéro du signal mais bien son appellation (RTMIN). Merci d'avance ! Toute information complémentaire même si ne répondant pas tout à fait à mon attente est la bienvenue !