gpt4 book ai didi

Perl:打开命名管道时 sysopen() 挂起

转载 作者:行者123 更新时间:2023-12-04 18:18:55 24 4
gpt4 key购买 nike

我正在使用以下代码打开位于“/tmp/xyz”的命名管道以进行只读访问:

#!/usr/bin/perl
use strict;
use Fcntl;
...
sysopen(FIFO, "/tmp/xyz", O_RDONLY) or die ("opening named pipe failed: $!\n");
...

问题是,sysopen 在调用时挂起。调用执行后,它既不会“死亡”,也不会编码。

ls -la/tmp/xyz 的输出:
prw-r--r-- 1 user group 0 Jun 20 11:45 /tmp/xyz

任何人有一个想法,发生了什么?提前致谢!

最佳答案

您以阻塞模式打开它,程序将不会继续,直到有人写入 FIFO。

您可能希望以非阻塞方式打开它:

O_RDONLY | O_NONBLOCK

关于Perl:打开命名管道时 sysopen() 挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11116877/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com