问题标签 [sigchld]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - SIGCHLD 未中断 python 选择
我有以下代码:
当我的程序等待这个时,如果有信号(如 SIGCHLD),则选择会被 select.error 中断。但是,即使我在输入 select 之前有待处理的信号,我也不确定这是否有效?(connection_fd 套接字设置为阻塞)。
是否有可能存在未决信号但 select 仍然没有被中断?
unix - 您可以从信号处理程序中调用 signal() 吗?
我有一个通常想要接收SIGCHLD
事件的主管程序。然而,在它接收SIGTERM
到或类似的信号之后,忽略SIGCHLD
事件以防止僵尸是安全且可取的。问题是我不确定signal(2)
在信号处理程序中调用是否合法,例如SIGTERM
调用signal(SIGCHLD, SIG_IGN)
。它似乎不会引起问题,但我知道您可以在信号处理程序中执行的操作有很多限制,而且我无法确定调用signal
是否在禁区内。
那么:这是合法的,可靠的吗?如果没有,是否有另一种方法可以确保在SIGTERM
可能僵尸出现时没有孩子仍在跑步,即使他们没有得到适当wait
的教育?
unix - 僵尸进程,SIGCHLD,在 unix 中退出
子进程的每个退出(退出或退出)是否都向其父进程发送 SIGCHLD?如果是,那么如何创建僵尸进程?因为等待系统调用通常在 SIGCHLD 处理程序中调用。
c - 在 BSD 上使用 sigtimedwait() 捕获 SIGCHLD
我无法使用 sigtimedwait() 在 FreeBSD 上捕获 SIGCHLD 信号。以下源代码在 Debian GNU/Linux 7 上运行良好,但给了我一个在 FreeBSD 9.1 上暂时不可用的资源:
Linux 上的输出:
FreeBSD 上的输出:
在 BSD 上使用 signal() 可以正常工作,但这不是我想要的。我错过了什么?
c - sigchld 的语法及其声明
在编译我的 C 程序以使用 UDP 实现多个客户端服务器聊天程序时,我遇到了一些错误..我能够纠正其中一些,但不能与其他一些..他们是....:
1) 未知类型名称 sig_atomic_t
2) sigchild_action 的存储大小未知
3) SIGCHLD 未声明(在此函数中首次使用)
4) SIGUSR2 未声明(在此函数中首次使用)
我不知道如何解决这个错误......我尝试了很多,但无法在任何地方找到 sigchild 的语法......n知道如何声明它......请帮帮我......
c - SIGCHLD 未被捕获
我打算在父进程休眠 10 秒时将以下代码作为子进程分叉并执行“sleep 3”。我希望父进程在 3 秒后收到 SIGCHLD,当“睡眠 3”完成时。
这不会发生,而是我得到:
ps -ef
显示一个
其次是:
在接下来的 7 秒内(此时父进程退出)。
问题是clean_up_child_process
永远不会被调用。
我犯了什么错误?
僵尸测试.c:
c - 一个进程如何知道哪个孩子结束了?
当一个进程子进程终止时,他正在向SIGCHLD
父进程发送一个。现在,如果父进程有多个子进程,父进程如何知道哪个子进程发送了信号?
c - 哪个子进程发送 SIGCHLD
我试图了解信号处理和过程。我有一个创建多个子进程的父进程。现在在父进程中,我有一个所有子进程的列表。当孩子被终止时,我想将其从列表中删除。我知道当孩子被终止时,他会发送SIGCHLD
给父母。好的,现在这是棘手的部分,我怎样才能知道那个孩子是终止了还是只是暂停了或其他什么?
c - what is the relation between SIGTSTP and SIGCHLD
I have tow handlers for each one of them (SIGTSTP, SIGCHLD), the thing is that when I pause a process using SIGTSTP the handler function of SIGCHLD run too. what should I do to prevent this .
signal handlers :
Susp_Bg_Pid used to save the paused process id.
susp indicates the state of the "smash" the parent process if it is suspended or not .