popen()应该注意的问题 ---------- popen()成功,fgets()返回为NULL
2009-07-11 11:14
295 查看
函数原型:
FILE *popen(const char *command, const char *type);
当使用popen()时,不要屏蔽SIGCHLD信号,popen()使用fork()创建了子进程来运行所给的命令,需要通过此信号判断子进程是否已经退出。
如果第二个参数为"r",就不要关闭标准输出(close(1)),如果这样处理,就会导致popen()返回成功,但是fgets()返回为NULL。popen()无法从标准输出获取信息,所以popen()所返回的文件指针所指的内容是空的。
同样,如果第二个参数使用了"w",就不要关闭标准输入。
FILE *popen(const char *command, const char *type);
当使用popen()时,不要屏蔽SIGCHLD信号,popen()使用fork()创建了子进程来运行所给的命令,需要通过此信号判断子进程是否已经退出。
如果第二个参数为"r",就不要关闭标准输出(close(1)),如果这样处理,就会导致popen()返回成功,但是fgets()返回为NULL。popen()无法从标准输出获取信息,所以popen()所返回的文件指针所指的内容是空的。
同样,如果第二个参数使用了"w",就不要关闭标准输入。
相关文章推荐
- fgets函数使用时应该注意的问题
- 多线程中对COM的初始化CoInitialize应该注意的问题
- Android异步加载图片资源,BitmapFactory.decodeStream返回null的问题
- Android4.4打开系统相册返回Null问题
- ASP.NET中Panel服务器控件的隐藏与显示应该注意的问题
- 全程记录:今天尝试安装SharePoint Server 2007过程 ,安装成功了,但是开始使用碰到权限问题,应该算是BUg吧
- C++队列中应该注意的一些问题
- 把字符串转换为小写,不成功返回NULL,成功返回新串
- 方法应该返回空对象还是null
- 搞程序得应该注意的几个问题
- Java的编程应该注意的问题
- 编码过程中应该注意的问题汇总
- 元组为空时应该注意的问题
- 使用scanf函数时应该注意的问题
- CGI程序里调用system、popen运行命令需要root权限---boa配置需要注意的问题
- JAVA程序员面试时应该注意的问题
- 百度地图返回码161定位成功却getCity是null
- 喜欢使用VMware的.NET程序员应该注意的问题
- DHCP不成功问题应该如何定位?
- 选择电源芯片应该注意哪些问题?