Linux shell命令之信号(kill)

Ctrl+C INT信号,即interrupt信号 停止当前运行的作业
Ctrl+Z TSTP信号,即terminal stop信号 使当前运行的作业暂时停止(转入阻塞态)
Ctrl+\ QUIT信号 Ctrl+C组合键的强化版本,当Ctrl+C组合无法停止作业时,
使用此组合键
Ctrl+Y TSTP信号,即terminal stop信号 当进程从终端读取数据时,暂时停止该进程

./sleep55.sh
^\./sleep55.sh: line 2: 46370 Quit (core dumped) sleep 55
11111

./sleep55.sh &
[1] 46396
kill %1
[1]+ Terminated ./sleep55.sh

vi selfkill.sh
#!/bin/bash

kill $$ #位置参数$$表示本身的进程号
echo "Does this line appear?" #这一行还会打印出来吗?

chmod u+x selfkill.sh
./selfkill.sh
Terminated

echo $? 退出码143, 大于128的退出码表示脚本是被系统强行结束的
143

当Shell脚本收到信号时,退出码是128+N
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

上一篇:信号控制


下一篇:E: Sub-process /usr/bin/dpkg returned an error code (1)