我在linux中有一个命名管道,我想从python中读取它。问题是python进程不断地“消耗”一个核心(100%)。我的代码如下:
FIFO = '/var/run/mypipe'
os.mkfifo(FIFO)
with open(FIFO) as fifo:
while True:
line = fifo.read()
我想问的是,“睡眠”是否会对这种情况有所帮助,或者进程会丢失一些来自管道的输入数据。我不能控制输入,所以我不知道数据输入的频率。我读过关于select和poll的文章,但我没有为我的问题找到任何示例。最后,我想问一下,100%的使用
我正在尝试使用FIFO在两个进程之间进行读写,但是当我打开一个FIFO时,它没有打印我给它打印的任何消息,类似地,当我写入它时,它也没有显示任何东西...so,我怎么知道它是否工作呢?为什么它挂在终端上它只是一直接受输入而不结束?请在这里帮助我,我认为代码是正确的,但它是这样的
int main ()
{
int fd;
char buffer[MAX];
char * os;
if(mkfifo("oss",0666)<0)
{
perror("FIFO (named pipe) could not
我有一个检查管道是否存在的程序,它是在一个函数中编写的:
status = mkfifo("recv",0666);
fd1 = open("recv",O_WRONLY);
fd2 = open("sendd", O_RDONLY);
cout<<"we are checking botth bcz we have both read and write in the program------:)";
if(fd1 <0 && fd2 <0)
{
//strerror(errno
当我用ffmpeg转码这个源文件时,ffmpeg可能会消耗大量内存,大约几十GB,直到被杀死,为什么?
the report here:
ffmpeg started on 2017-12-19 at 10:59:15
Report written to "ffmpeg-20171219-105915.log"
Command line:
ffmpeg -i memory_error_fifo.mp4 -s 854x480 -vcodec libx264 -x264opts
"keyint=50" -b:v 238k -vf "movie=n