|
|
1
1
在过去,几乎每一个信号都会导致一个Unix程序终止。因为管道的进程间通信是Unix的基础,
假设有两个进程通过管道进行通信。如果其中一个死了,管道的一端将不再处于活动状态。
例如,考虑:
如果
|
|
|
2
0
和其他许多事情一样,我的猜测是,这仅仅是一个设计选择,有人最终把它变成了POSIX标准,并一直保留到现在。有人可能认为试图通过一个封闭的套接字发送数据是一件坏事,而且您的程序需要立即得到通知,而且由于没有人检查过错误代码,有什么比发送信号更好的方法来通知您呢? |