1
对于我的任务,我给出了一个问题,让父进程发送“用户输入”行文字VIA信号给孩子并让它打印出文本行。发送字符串到子进程的信号
我很困惑。我已经阅读了关于信号的书中的整个章节,大多数情况下它们似乎只用于终止,暂停,警报。我原本以为我可以做到这一点,但我真的不确定。有没有办法通过信号传递数据?
对于我的任务,我给出了一个问题,让父进程发送“用户输入”行文字VIA信号给孩子并让它打印出文本行。发送字符串到子进程的信号
我很困惑。我已经阅读了关于信号的书中的整个章节,大多数情况下它们似乎只用于终止,暂停,警报。我原本以为我可以做到这一点,但我真的不确定。有没有办法通过信号传递数据?
POSIX信号(我们称之为UNIX中的信号)只是事件,所以你发送的唯一数据就是它发生了。这当然不会阻止人们讨论其他情况下的信号或具有不同含义的信号...
不,信号本身不传递数据。但是你可以使用一个信号来表示“嗨!醒来!我已经在平常的地方为你留下了数据。”,通常的地方是文件或管道或其他东西。 –
此外,请注意,如果李提到的'平常的地方'是一个管道,那么你并不需要向孩子发送信号。它可能只是在等待从管道读取数据。当父母写入管道时,内核会通过让读取返回(使用数据),让孩子知道数据准备就绪。 –