有没有办法从另一个进程向线程发送信号?

Posted

技术标签:

【中文标题】有没有办法从另一个进程向线程发送信号?【英文标题】:Is there any way to send signal to a thread from another process? 【发布时间】:2014-01-28 08:56:12 【问题描述】:

我想将信号从一个进程发送到一个由另一个进程创建的线程(尚未创建线程。

我对此的了解:

raise:向同一进程发送信号

pthread_kill 可以从同一进程(即创建该线程)向线程发送信号。 您不能使用 pthread_kill 从另一个进程向线程发送信号。

kill向进程发送信号

希望我清楚! 注意:我是 unix 和线程的新手

【问题讨论】:

昨天有这个问题,举个例子。我认为这对您的情况很有用***.com/q/21381451/2549281 你可以阅读ZeroMQ。 【参考方案1】:

你应该阅读关于

    pthread_signal()

应该让你朝着正确的方向前进

【讨论】:

【参考方案2】:

有一个适当命名的tkill(2)

tkill, tgkill - send a signal to a thread

tgkill() sends the signal sig to the thread with the thread ID tid

您可以使用gettid(2) 获取消息。


注意:TID 的概念以及与 TID 相关的所有内容都是 Linux 特定的。

【讨论】:

以上是关于有没有办法从另一个进程向线程发送信号?的主要内容,如果未能解决你的问题,请参考以下文章

如何从一个进程向多个其他进程发出信号?

如何从信号处理程序内部向其他进程发送通知?

Unix系统编程()检查进程的存在

信号发送到 PGRP

将字符串发送到子进程的信号

Linux下的进程与线程—— 信号