linux下能够通过信号机制来实现程序的软中断
1 常用信号
SIGHUP 终止进程 终端线路挂断
SIGINT 终止进程 中断进程
SIGQUIT 建立CORE文件终止进程,并且生成core文件
SIGILL 建立CORE文件 非法指令
SIGTRAP 建立CORE文件 跟踪自陷
SIGBUS 建立CORE文件 总线错误
SIGSEGV 建立CORE文件 段非法错误
SIGFPE 建立CORE文件 浮点异常
SIGIOT 建立CORE文件 执行I/O自陷
SIGKILL 终止进程 杀死进程
SIGPIPE 终止进程 向一个没有读进程的管道写数据
SIGALARM 终止进程 计时器到时
SIGTERM 终止进程 软件终止信号
SIGSTOP 停止进程 非终端来的停止信号
SIGTSTP 停止进程 终端来的停止信号
SIGCONT 忽略信号 继续执行一个停止的进程
SIGURG 忽略信号 I/O紧急信号
SIGIO 忽略信号 描述符上可以进行I/O
SIGCHLD 忽略信号 当子进程停止或退出时通知父进程
SIGTTOU 停止进程 后台进程写终端
SIGTTIN 停止进程 后台进程读终端
SIGXGPU 终止进程 CPU时限超时
SIGXFSZ 终止进程 文件长度过长
SIGWINCH 忽略信号 窗口大小发生变化
SIGPROF 终止进程 统计分布图用计时器到时
SIGUSR1 终止进程 用户定义信号1
SIGUSR2 终止进程 用户定义信号2
SIGVTALRM 终止进程 虚拟计时器到时
2 命令涉及信号及启停
SIGHUP 终止进程 终端线路挂断 关闭窗口产生
SIGINT 终止进程 中断进程 CTRL+C 产生
SIGKILL 终止进程 杀死进程 kill -9 产生
命令 | 说明 | 执行 | SIGINT信号 | SIGHUP信号 | SIGKILL信号 |
---|---|---|---|---|---|
nohup | 不挂断执行 | nohup commnd | 不免疫 | 免疫 | 不免疫(kill -9 pid) |
& | 后台执行 | command & | 免疫 | 不免疫 | 不免疫 |
nohup + & | 后台永久执行 | nohup command & | 免疫 | 免疫 | 不免疫 |
3 输出说明
执行脚本,必然涉及输出
基本符号及其含义
/dev/null 表示空设备文件
0 表示stdin标准输入
1 表示stdout标准输出
2 表示stderr标准错误
一般执行都会把输出重定向到 /dev/null 空设备或者文件
具体可参考之前写的文章【必知Linux 2>&1】