信号量
SIGINT
用户在中断输入ctrl+c时,内核将SIGINT信号发送给前台进程组的每一个进程
该信号的默认系统操作是终止进程,
SIGCHLD(17)
作用:在一个进程终止或停止时,将SIGCHLD信号发送给其父进程,安系统默认将忽略此信号,如果父进程希望被告知其子系统的状态,则应捕捉词信号
产生条件
- 子进程终止时会向父进程发送SIGCHLD信号,告诉父进程回收自己,但该信号的默认处理动作是忽略,因此父进程不会去回收子进程,需要捕捉处理实现子进程的回收。
- 子进程接收到SIGSTOP(19)信号停止时
- 子进程处在停止状态,接收到SIGCONT后唤醒时
总结:子进程结束,接受到SIGSTOP和SIGCONT时都会向父进程发送SIGCHLD信号。
SIGTERM(13)
作用:终止进程,SIGTERM是一种由操作系统发送给进程的信号,通常用于请求该进程优雅地终止。当进程收到SIGTERM信号时,它应该执行一些清理工作,然后正常地退出。这个信号的处理方式可以由进程自行定义,但一般来说,进程应该在收到SIGTERM信号后立即停止其正在进行的工作,并释放所有已经占用的资源,如打开的文件、分配的内存等等。SIGTERM信号可以由系统管理员或其他进程发送,例如使用kill命令将信号发送给目标进程。