腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
关闭
管道
的
写入
端
不会
向
其他
进程
发送
EOF
、
、
、
、
我正在尝试实现一个minishell,它必须能够
管道
化命令。最初,我是按顺序执行
进程
的
,也就是说,我在启动n
进程
之前等待n + 1
进程
终止(这是一个执行ls | wc -l
的
最小可重现示例): #include <signal.h> #include <unistd.h,如果发出像cat /dev/urandom | head -c 100这样
的
命令,程序将陷入死锁。因此,我决定首先派生
进程
,然后无论哪个
进
浏览 16
提问于2021-08-23
得票数 0
回答已采纳
6
回答
从C程序内部执行程序
、
我需要能够将数据
写入
启动程序
的
STDIN (也许还可以从它
的
STDOUT中读取) 我不确定这是否是一个标准
的
C函数。我需要在Linux下工作
的
解决方案。
浏览 3
提问于2008-09-16
得票数 8
回答已采纳
3
回答
(c/c++)尝试从父
进程
强制
EOF
向
子
进程
发送
输入
、
、
、
、
我有一个非常简单
的
c/c++程序,它派生一个子
进程
来执行另一个程序,然后向该子程序
发送
一些数据,并等待响应。我不确定为什么
关闭
管道
并不意味着孩子
的
标准输入
的
<em
浏览 2
提问于2010-10-12
得票数 6
回答已采纳
1
回答
同步双向读/写
的
管道
访问
、
、
我有一段遗留代码,其中我将某些逻辑委托给子
进程
。要求是父
进程
写入
管道
,子
进程
在
管道
上读取。读完后,child
向
一个新
管道
写入
一些内容,然后parent从新
管道
中读取。在下面的代码中,函数send()由父
进程
中
的
专用线程定期调用。 LaunchWorker()确保仅在第一次调用该子
进程
时派生它。1)我不知道如何
关闭
两个描述符
的
读取
浏览 3
提问于2017-03-20
得票数 0
1
回答
为什么我在使用ifstream在指定
管道
中读取一行之后得到
EOF
?
、
在命令行中,我使用mkfifo创建了一个
管道
,并确认了该文件
的
存在。ls -al给出:然后,我使用这段代码尝试逐行读取
管道
中
的
文本:{ cout << boolalpha << pipe.good() << endl << pipe.
eof
() << endl
浏览 2
提问于2015-03-30
得票数 0
回答已采纳
2
回答
关于close()和read()
的
关系
、
、
int main() char *msg="hello"; int p[2]; int i,pid=fork(); //close(p[1]); } { }为什么上面的代码会阻塞?但是如果我们删除评论并放置那么为什么代
浏览 12
提问于2015-03-21
得票数 0
1
回答
为什么父
进程
必须在调用wait( )之前
关闭
管道
的
所有文件描述符?
、
、
、
我不知道为什么父
进程
在调用wait()之前需要
关闭
管道
的
两个文件描述符。 父级
浏览 2
提问于2015-06-29
得票数 2
回答已采纳
1
回答
龙卷风如何使用
管道
异步
向
客户
端
发送
数据?
、
、
、
对于龙卷风,我使用多重处理来创建一个子
进程
来完成压缩工作。子
进程
通过os.pipe直接
向
主
进程
发送
数据。好
的
,现在
的
问题是self.stream.read_until_close阻塞了调用,并且它没有tar_worker
关闭
管道
的
另一
端
。我
的
代码列表如下: '''Tar worker to d
浏览 5
提问于2015-07-24
得票数 1
回答已采纳
1
回答
当子
进程
执行execvp时,waitpid未接收到退出状态
、
、
、
、
我正在尝试创建一个类似shell
的
程序。编写了一个示例代码片段程序来查看ls | wc
的
执行情况。waitpid
的</em
浏览 0
提问于2014-10-13
得票数 0
2
回答
如何避免在命名
管道
关闭
后阻塞read()
、
、
我有两个使用命名
管道
创建
的
进程
。编写
进程
使用写()写消息,读取器
进程
用read()读取消息。当作者
关闭
管道
时,我注意到read()阻塞了。这是否可能让
写入
程序在
关闭
管道
之前
发送
EOF
,从而使读取器
不会
被阻塞?
浏览 5
提问于2015-10-22
得票数 2
1
回答
为什么grep会进入阻塞阶段?
、
、
我正在做一个测试,我
的
任务是一个子任务,将输出流水线到另一个子节点
的
输入。我使用ps -ef作为第一个命令(使用execlp())和grep root作为第二个命令(bu使用execlp()),.I获得所需
的
输出,但在执行grep.I
的
进程
中被阻塞,我已经使用top命令来验证当前正在运行
的
进程
perror("Error:"); } 请帮助我,out.As,我在这个过程中,做
浏览 0
提问于2015-08-07
得票数 -1
1
回答
UNIX中
的
管道
和dup函数
、
、
、
、
我从下面写
的
代码中发现了一个疑点。如您所见,如果pid =0(这意味着正在进行子
进程
),则
关闭
管道
的
读取部分,并
关闭
stdout文件描述符。(Pdf),close(1)。我可以理解stdout应该是接近
的
,因为
管道
的
写部分(Pdf1)应该位于以前
的
标准输出位置。(杜普(Pdf1)) 然而,我无法理解为什么读取
管道
的
一部分(
关闭
(Pdf)和
写入
<e
浏览 2
提问于2016-04-07
得票数 1
回答已采纳
5
回答
为什么在读取和
写入
管道
时需要
关闭
fds?
、
、
、
、
下面是一个来说明我
的
意思:#include <unistd.h>{sizeof(readbuffer)); } } 但是,如果我
的
一个
进程
需要连续
写入
管道
,而另一个
管道
浏览 3
提问于2009-06-10
得票数 11
回答已采纳
1
回答
在linux中,通过
管道
()从派生
进程
调用system()
、
、
我有一个使用fork()和pipe()
的
标准程序,目的是使子
进程
中
的
第三方程序进行system()调用,并将输出重定向到父
进程
。我发现,如果我这样做,不知何故,父
进程
永远不能检测子
进程
是否
关闭
了
管道
,因此它永远不能从调用read()
的
while循环中退出。当我将对第三方程序
的
system()调用替换为
其他
一些通用系统调用(如system("ls -l") )时,该问题就消失了。使
浏览 0
提问于2013-04-25
得票数 0
1
回答
从
管道
读取,即使
写入
端
已
关闭
、
、
我
的
老师说,如果
管道
的
写入
端
被
关闭
,子
进程
就不能再从
管道
的
读取
端
读取,读取将产生一个_PIPE错误。但是,我无法让这些代码在
关闭
的
管道
上读取时产生任何错误:#include <unistd.h> int main(void)char str[] = &
浏览 0
提问于2018-09-26
得票数 2
回答已采纳
1
回答
多
进程
和多
管道
、
、
我正在制作一个连接4
的
游戏,我希望有多个
进程
和
管道
,但我不确定从哪里开始。我知道你必须使用叉子和
管道
,但当我在游戏开始前使用叉子时,我得到
的
结果是相同
的
。我只是不知道接下来该怎么做。下面是我
的
一些代码,我删除了检查wins
的
部分,因为我不需要看到。
浏览 0
提问于2013-03-04
得票数 0
回答已采纳
2
回答
在C中
关闭
管道
文件描述符
、
} else { //child // do a bunch of things} 这是一段代码,其中父
进程
写入
管道
,子
进程
从
管道
读取。我
的
问题是:对于这两个close语句,它们
的
结束语到底是什么?父
进程
和子
进程
应该共享同一个文件,即fd和fd1。如果父函数中
的
fd是闭合
的</em
浏览 1
提问于2014-02-26
得票数 6
回答已采纳
1
回答
C-单壳
管道
实现一直挂在终端上。
、
、
、
、
我一直在尝试在shell程序中实现
管道
结构,如果我执行简单
的
命令,比如"hello \ rev“,它就能工作。list_tail(&p->commands))) close(fd[0]);我已经被教导在我使用完文件描述符之后总是
关闭
它,我认为这就是我要做
的
--但是我在某个地方发现了文件描述符泄漏
的
地方,我不知道在哪里。我一直试图做很多
的
结合收尾和欺骗fd,但没有任何效果。 为了进一
浏览 1
提问于2015-02-19
得票数 0
回答已采纳
1
回答
从scanadf脚本调用时pnmtop子
进程
挂起
、
我
的
脚本名为scan_perpage,通过调用pnmtops,通过ps2pdf
管道
将图像数据转换为pdf。pnmtops命令本身正在等待其分叉
的
“子”pnmtops输出筛选器
的
完成,但它从未完成。pnmtops: Waiting for PID 10904 to exit<the script hangs here> 下面是挂起点处
浏览 0
提问于2013-10-03
得票数 1
回答已采纳
1
回答
是否有一个在终止前不
发送
EOF
的
进程
,以及如何创建它?
、
、
、
我怀疑一个
进程
在分别被SIGINT和SIGKILL杀死时
不会
发送
EOF
。这种情况是否是这样(或者所有
进程
都会在终止任何信号后向stdout和stderr
发送
EOF
)?如果是,我如何
发送
这样
的
进程
,以便我可以在Java单元测试中使用它(Java单元测试只需要在Linux上开始运行)? 英国维基百科
EOF
文章不清楚这一点,德语说
EOF
“可能”被
发送
。我知道这可能是X
浏览 0
提问于2017-08-19
得票数 1
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
asyncio 不完全指北(四)
Debug笔记丨自带的 print 函数居然会报错?
开启 Keep-Alive 可能会导致http 请求偶发失败
我们天天都在使用的管道命令,Shell 在里面到底动了什么手脚?
为什么应该在 Linux 上使用命名管道
热门
标签
更多标签
云服务器
ICP备案
对象存储
腾讯会议
云直播
活动推荐
运营活动
广告
关闭
领券