Linux使用信号与系统上运行的进程进行通信!系统和应用程序生成的信号有30多个,常见的如图:信号值描述
1SIGHUP挂起进程
2SIGINT终端进程
3SIGQUIT停止进程
9SIGKILL无条件终止进程
15SIGTERM如果可能的话终止进程
17SIGSTOP无条件停止,但不终止进程
18SIGTSTP停止或暂停进程,但不终止进程
19SIGCONT重新启动停止的进程
默认情况下,bash shell会忽略它接收的任何SIGQUIT(3)和SIGTERM(15)信号。但是,bash shell会处理它收到的任何SIGHUP(1)和SIGINT(2)信号
生成信号:
bash shell可以使用键盘上的组合键,生成两个基本的Linux信号。若需要暂停或者停止,就可以派上用场!中断进程(Ctrl+C)可以生成SIGINT信号
暂停进程(Ctrl+Z)可以生成SIGTSTP信号
中断进程和暂停进程不同,暂停进程仍然保留在内存中,能够从停止的地方继续运行[root@localhost ~]# sleep 5
[1]+ Stopped sleep 5
方括号[1]:数字1是shell分配的作业编号(job number)
[root@localhost ~]# ps au
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 6904 0.0 0.0 4916 1520 pts/1 Ss