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

Posted

技术标签:

【中文标题】将字符串发送到子进程的信号【英文标题】:Signal to send string to child process 【发布时间】:2015-10-14 00:10:50 【问题描述】:

对于我的作业,我得到的问题是让父进程向子进程发送“用户输入的”文本行 VIA 信号并让它打印出该文本行。

我很困惑。我已经阅读了我书中关于信号的整章,而且它们似乎在大多数情况下仅用于终止、暂停、警报。我最初认为通过警报我可以做到这一点,但老实说我不确定。有没有办法通过信号传递数据。

【问题讨论】:

不,信号本身并不传递数据。但是您可以使用信号来表示“嘿!醒醒!我已经在通常的地方为您留下了数据。”,通常的地方是文件或管道或其他东西。 此外,请注意,如果 Lee 提到的“通常位置”是管道,那么您实际上不必向孩子发送信号。它可能只是等待从管道中读取数据。当父级写入管道时,内核将通过让读取返回(与数据一起)来让子级知道有数据准备就绪。 【参考方案1】:

POSIX 信号(我们在 UNIX 中称为信号)只是事件,因此您发送的唯一数据就是它发生了。这当然不会阻止人们在其他上下文中或具有不同含义的情况下谈论信号......

【讨论】:

以上是关于将字符串发送到子进程的信号的主要内容,如果未能解决你的问题,请参考以下文章

如何将数据从 Python 异步套接字服务器发送到子进程?

fork 和 signal:如何将信号从父进程发送到特定的子进程

如何在不丢失信号的情况下将信号从多个子进程发送到主进程?

linux查看进程挂掉怎么处理

如何使用多处理将对象从主进程传递到子进程

进程控制---wait 和 waitpid 函数详解