c - 如何找到谁将 sigterm 信号发送到我的进程或我的进程组?

标签 c linux unix

我们有一个守护进程服务器程序,它派生了一个 child 。当 child 退出时, parent 正在接收 SIGTERM 信号。所以,我们想知道

1) 谁发送了这个 SIGTERM

2) SIGTERM 是否仅针对父级或其组?

3)这种情况下SIGTERM有哪些可能的生成方式?

4) 是否可以屏蔽此 SIGTERM 信号?如果是,此调用的副作用是什么?

最佳答案

您需要一个 SA_SIGINFO 类型的信号处理程序。 然后你会得到包含 si_pid 的 siginfo_t,这是一个信号处理过程。 http://linux.die.net/man/2/sigaction

关于c - 如何找到谁将 sigterm 信号发送到我的进程或我的进程组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4078089/

相关文章:

linux - 基于linux系统的一栏文字电影加一些文字?

c - 从c中的子进程获取退出状态

unix - 编码帮助 (KeyBasic)

c - 在 C 中使用管道在另一个程序中使用 cat 输出

c - 如何在 SDL 2.0 绘制点、线或矩形中指定 "width"或 "point size"

c++ - 返回类型为 struct 的函数在每次调用时不返回任何内容

c - 通过 fork()/execl() 确定进程运行的结果

arrays - 如果我将一个 char 数组初始化为零/{0},我是否必须以 null 终止?

linux - 内核空间和用户空间虚拟地址划分

linux - 在 Shell 脚本中为每个月的第一个工作日设置 Cron Job