如何解决BSD中的进程替换挂起有时
在将Linux bash脚本移植到BSD时,我偶然发现了一个有趣的问题。
在这种情况下,如何解释这种现象以及您将建议什么解决方法:
这是一个最小的可复制示例,这就是为什么它本身没有意义的原因
# this works in Linux,but hangs in BSD:
$(a=<(echo 1))
在这里这就是所谓的进程替换(在命令替换中),它的工作方式如下:
- 文件描述符(linux)或临时FIFO文件(BSD)的名称存储在
$a
变量中; - 在此之后,命令替换
$()
的子外壳被关闭。
好的。这就是它的工作方式(并且在Linux中工作),但是它挂在FreeBSD中,等待为命令替换(/tmp//sh-np.muuX1P
创建的FIFO发生某些事情。
问题:
您将如何解释这一点,您将提出什么解决方法?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。