社区
Linux/Unix社区
帖子详情
popen()函数的问题
ymmoon
2007-07-16 02:10:20
以下是我的程序中有关popen()函数的一段内容
if((proc_fp = popen("ps aux", "r")) == NULL)
{
cout<<"popen error\n";
return -1;
}
问题是,我在程序运行了一段时间之后,程序就报错,输出一堆的:popen error.
可是刚开始运行的还挺好的呀,问题出在哪里呢?
...全文
334
8
打赏
收藏
popen()函数的问题
以下是我的程序中有关popen()函数的一段内容 if((proc_fp = popen("ps aux", "r")) == NULL) { cout<<"popen error\n"; return -1; } 问题是,我在程序运行了一段时间之后,程序就报错,输出一堆的:popen error. 可是刚开始运行的还挺好的呀,问题出在哪里呢?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ymmoon
2007-07-16
打赏
举报
回复
是pclose的问题,多谢各位!
cceczjxy
2007-07-16
打赏
举报
回复
你代码多贴出来点,大家不能光凭猜测来判断.
ymmoon
2007-07-16
打赏
举报
回复
程序会多次的调用这段程序,每次调用结束都会用pclose()关闭这个文件描述符,因此在前35分钟运行是正确的,程序出错是因为proc_fp返回的值为NULL,因此会不断的输出出错信息,所以我有点迷惑,正常的打开和关闭怎么会导致popen()出错呢?
dai_weitao
2007-07-16
打赏
举报
回复
在执行pclose之前就再次popen了, 所以会出错.
mymtom
2007-07-16
打赏
举报
回复
if((proc_fp = popen("ps aux", "r")) == NULL)
{
cout<<"popen error\n";
return -1;
}
======
这样写有什么用,改为perror("popen"),就能知道错误原因了,一个可能的原因是没有popen后没有忘记调用pclose,结果超过了进程能文件描述符限制。
hzcpig
2007-07-16
打赏
举报
回复
if((proc_fp = popen("ps aux", "r")) == NULL)
{
cout<<"popen error\n";
return -1;
}
这段代码输出一次popen error就会马上退出,你输出一堆popen error,肯定不是这段代码的原因。
建议留意popen error之前的日志,那时候在做什么,输出了什么,是不是每次都是执行固定时间后出错
ymmoon
2007-07-16
打赏
举报
回复
应该不是不能多次popen,程序是在执行了将近35分钟之后才发生异常的
一开始是怀疑pclose的问题,但似乎也不是
hzcpig
2007-07-16
打赏
举报
回复
输出一堆的:popen error.说明你的程序有循环调用popen的代码,你应该检查那部分代码。
怀疑是不是因为popen一次以后不能多次popen?
Linux系统中
popen
函数
的缺陷与改造方案.pdf
"Linux系统中
popen
函数
的缺陷与改造方案" Linux 操作系统中,
popen
函数
是一个常用的
函数
,用于执行 shell 命令并得到执行结果。然而,Linux 库提供的
popen
函数
却有两个致命的缺陷。本文将分析这两个缺陷产生的...
如何解决fgets读取
popen
内容阻塞的
问题
"fgets 读取
popen
内容阻塞的
问题
解决方案" ...fgets 读取
popen
内容阻塞的
问题
可以通过使用
popen
函数
、fgets
函数
和 pclose
函数
来解决。同时,还需要注意文件指针的检查和错误处理,以避免程序崩溃和资源泄露。
linux
popen
函数
在Linux系统中,`
popen
`
函数
是一个非常实用的C语言标准库
函数
,它允许程序以进程间通信(IPC,Inter-Process Communication)的方式与另一个命令或者程序进行交互。`
popen
`
函数
在`stdio.h`头文件中定义,它的主要...
popen
使用方法示例
在C/C++编程中,`
popen
`是一个非常实用的
函数
,它允许程序与操作系统命令行进行交互。这个
函数
在`stdio.h`头文件中定义,可以用来执行一个外部命令并读取或写入其标准输入/输出。下面我们将详细讨论`
popen
`的使用...
自己写的
popen
自己编写
popen
函数
,可以学习学习哦,网上有
popen
的源代码
Linux/Unix社区
23,217
社区成员
74,540
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章