SIGHUP

2024-01-20 10:18
文章标签 sighup

本文主要是介绍SIGHUP,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

linux中 进程组织结构为 session 包含一个前台进程组及一个或多个 后台进程组,一个进程组包含多个进程。
一个session可能会有一个session首进程,而一个session首进程可能会有一个控制终端。
一个 进程组可能会有一个进程组首进程。 进程组首进程的进程ID与该进程组ID相等。
这儿是可能会有,在一定情况之下是没有的。
与终端交互的进程是前台进程,否则便是 后台进程
SIGHUP会在以下3种情况下被发送给相应的进程:
1、终端关闭时,该信号被发送到session首进程以及作为job提交的进程(即用 & 符号提交的进程)
2、session首进程退出时,该信号被发送到该session中的前台 进程组中的每一个进程
3、若 父进程退出导致 进程组成为孤儿进程组,且该进程组中有进程处于停止状态(收到SIGSTOP或SIGTSTP信号),该信号会被发送到该进程组中的每一个进程。
系统对SIGHUP信号的默认处理是终止收到该信号的进程。所以若程序中没有捕捉该信号,当收到该信号时,进程就会退出。

这篇关于SIGHUP的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/625679

相关文章

nohup忽略SIGHUP信号

今天遇到一个问题:开启终端启动gunicorn进程后台运行,终端不关闭时,可以导入excel,关闭终端后,不能导入excel。原因是,xlrd模块需要向控制台输出内容,终端关闭后,控制台消失,无法输出内容,会出现异常。 我的使用环境是,在三丰云上搭建的一个web系统,Django框架。 上图是我的服务器配置 下面来说一下我的解决办法,使用nohup忽略SIGHUP信号: nohup,故名思议

linux——signal信号 SIGHUP、SIGINT

SIGHUP /* hangup */           SIGHUP,hong up ,挂断。本信号在用户终端连接(正常或非正常)结束时发出, 通常是在终端的控制进程结束时, 通知同一session内的各个作业, 这时它们与控制终端不再关联。           登录Linux时,系统会分配给登录用户一个终端(Session)。在这个终端运行的所有程序,包括前台进程组和 后台进程组,一般都属于

【Linux】Linux应用程序中需要忽略的信号:SIGPIPE、SIGHUP、SIGINT;以及信号详解

1、常用信号 1.1 SIGPIPE 当服务器关闭一个连接后,若客户端继续发送数据,系统会发送要给SIGPIPE信号给客户端所在的进程,该信号的默认处理是终止进程; 反过来,客户端断开socket连接, 服务端向一个失效的socket发送数据,也将导致服务的进程退出。 如果不想退出,需要忽略该信号 signal(SIGPIPE, SIG_IGN); 或者 struct sigacti