向守护进程发送 SIGINT
Posted
技术标签:
【中文标题】向守护进程发送 SIGINT【英文标题】:Send a SIGINT to a daemonized process 【发布时间】:2013-01-01 17:44:50 【问题描述】:我写了一个 c++ 代码,它自己守护进程..
它有一个用于 SIGINT 信号的信号处理程序
显然它在 shell 上运行时没有收到信号,因为它是守护进程。
如何发送信号?
谢谢
【问题讨论】:
我的意思是使用 ctrl+c ctrl+c 进入前台进程。 在前台进程中捕获 SIGINT 并将其转发给其他进程。 守护进程的全部目的是让进程永远运行,特别是对终端上的 Ctrl-C 不敏感。您可能希望添加一个程序参数以避免调用daemon(3)
【参考方案1】:
您不能使用Ctrl-C
将SIGINT
发送到守护进程。
您需要做的是使用ps
命令找到一个进程ID(PID)并使用kill -INT <pid>
发送信号。
【讨论】:
【参考方案2】:killall进程名-信号号
killall helloworld -2
将 SIGINT 发送到 helloworld 进程
【讨论】:
谢谢,但我对此很熟悉......我更倾向于使用 ctrl+c 而不是输入命令【参考方案3】:使用ps
定位其进程标识符,然后通过kill -INT PID
发送SIGINT信号。
【讨论】:
以上是关于向守护进程发送 SIGINT的主要内容,如果未能解决你的问题,请参考以下文章