当前位置: 技术问答>linux和unix
关于FIFO——命名管道的问题
来源: 互联网 发布时间:2017-02-26
本文导语: 看Unix环境高级编程的进程间通讯那章,对FIFO有些疑问: 书上说: 对于FIFO而言,虽然当最后一个引用FIFO的进程终止时其名字仍保留在系统中,直至显式地删除它,但是留在FIFO中的数据却在此时全部被删除,于是也...
看Unix环境高级编程的进程间通讯那章,对FIFO有些疑问:
书上说:
对于FIFO而言,虽然当最后一个引用FIFO的进程终止时其名字仍保留在系统中,直至显式地删除它,但是留在FIFO中的数据却在此时全部被删除,于是也就徒有其名了。
问题:
1.如果通讯完成后没有删除的话,那我下次再用同样的名字创建并使用会出现什么问题
2.如何显示的查询当前所有的命名管道,以便删除残余的
3.为何要这样设计,为啥不像匿名管道那样,直接干掉完事儿
4.如果通信双方的其中一方调了unlink,另一方再读/写会出问题吗
5.必须双方都调用unlink吗?
书上说:
对于FIFO而言,虽然当最后一个引用FIFO的进程终止时其名字仍保留在系统中,直至显式地删除它,但是留在FIFO中的数据却在此时全部被删除,于是也就徒有其名了。
问题:
1.如果通讯完成后没有删除的话,那我下次再用同样的名字创建并使用会出现什么问题
2.如何显示的查询当前所有的命名管道,以便删除残余的
3.为何要这样设计,为啥不像匿名管道那样,直接干掉完事儿
4.如果通信双方的其中一方调了unlink,另一方再读/写会出问题吗
5.必须双方都调用unlink吗?
|
1、创建失败
2、find . -type p
3、或许是出于生命周期的考虑。你之后或许还想再打开
4、不知道,可以试试。感觉没问题
5、一个unlink就行了
2、find . -type p
3、或许是出于生命周期的考虑。你之后或许还想再打开
4、不知道,可以试试。感觉没问题
5、一个unlink就行了