Der Zweck besteht darin, den CTRL+C- oder CTRL+Z-Interrupt für den Root-Benutzer oder ein allgemeines Benutzerkonto durch den Trap-Befehl zu deaktivieren. Wenn der Benutzer also versucht, einen Befehl oder ein Skript mit STRG+C oder STRG+Z zu unterbrechen, wird er dies grundsätzlich nicht tun können. Der trap-Befehl kann verwendet werden, um diese Signale abzufangen und zu deaktivieren.
1. Zeigen Sie die Signalnummern mit „kill -l“ an. In der unteren Ausgabe werden die Nummern für die Signale angezeigt, und im Falle von CRTL+C ist „SIGINT “ Signalnummer 2 und CRTL+Z ist „SIGTSTP ” Signalnummer 20.
# kill -l 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 16) SIGSTKFLT 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
Um Strg+C oder Strg+Z für alle Benutzer zu deaktivieren, hängen Sie die trap-Befehlskombinationen in /etc/profile an .
# vi /etc/profile ... ### Disable CTRL+C and CRTL+Z command ######## trap ' '2 20
Wenn diese Signale nur für einen bestimmten Benutzer aktiviert werden sollen, kann der Trap-Befehl zu ~/.bash_profile hinzugefügt werden .
# cat .bash_profile ... ### Disable CTRL+C and CRTL+Z command ######## trap ' '2 20