目的は、trap コマンドによる root ユーザーまたは一般ユーザー アカウントの CTRL+C または CTRL+Z 割り込みを無効にすることです。したがって、基本的に、ユーザーが CTRL+C または CTRL+Z を使用してコマンドまたはスクリプトを中断しようとしても、中断することはできません。 trap コマンドを使用して、これらのシグナルをトラップして無効にすることができます。
1. 「kill -l」でシグナル番号を表示します。以下の出力では、シグナルの番号が示されています。CRTL+C の場合は「SIGINT」です。 」シグナル番号 2、CRTL+Z は「SIGTSTP」 」 信号番号 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
すべてのユーザーに対して ctrl+c または ctrl+z を無効にするには、trap コマンドの組み合わせを /etc/profile に追加します。 .
# vi /etc/profile ... ### Disable CTRL+C and CRTL+Z command ######## trap ' '2 20
これらのシグナルを特定のユーザーに対してのみ有効にする必要がある場合は、trap コマンドを ~/.bash_profile に追加できます。 .
# cat .bash_profile ... ### Disable CTRL+C and CRTL+Z command ######## trap ' '2 20