当前位置:  技术问答>linux和unix

怎么会有时错误,有时正确?

    来源: 互联网  发布时间:2015-10-08

    本文导语:  Red Hat Linux 9 test.c #include  /*简化了的代码*/ int main(){   char str[256];   FILE *fp;   /*显示环境变量TTY,若无则用tty命令取得*/   if((fp=popen("echo $TTY;tty","r"))!=NULL){     while(fgets(str,256,fp)){       printf("%s",str);   ...

Red Hat Linux 9

test.c

#include 

/*简化了的代码*/
int main(){
  char str[256];
  FILE *fp;
  /*显示环境变量TTY,若无则用tty命令取得*/
  if((fp=popen("echo $TTY;tty","r"))!=NULL){
    while(fgets(str,256,fp)){
      printf("%s",str);
      break;  /*前面会经过其他处理,当条件达到就退出。*/
      };
    pclose(fp);
    };
  return(0);
  }

运行时有时提示“tty: 写入时发生错误: 断开的管道”,有时又没有这样的错误提示

请问是什么原因造成这样不稳定呢?要怎么解决?

|
只要tty可以就直接用tty吧,不要echo $TTY;tty了,好象只用一个是可以的

|
把break注释掉看看可不可以

|
好象是因为管道内还有内容就断开造成的

|
是不是这个原因,break的时候tty还没有写pipe,pclose以后tty再些pipe就有问题了,不注释break,在前面加一个sleep好象也可以

|
好帖子!

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • C++ I/O 成员 bad():如果出现错误则返回true
  • Unmounting initrd failed 错误表示什么错误?可能是由什么引起的?系统原来一直运行正常,突然发现系统登陆错误,重启提示以上错误。
  • C++ I/O 成员 fail():如果出现错误则返回true
  • 在inter版solaris 8上编socket程序,在read时遇到错误,错误号14,用strerror()看不到错误描述,请解决,多谢!
  • 重装服务器后IIS网站错误(应用程序中的服务器错误)
  • 请问段错误是什么错误啊
  • Mysql查询错误:ERROR:no query specified原因
  • linux安装codeblock 编译错误make: *** [all-recursive] 错误 1
  • windows server2008上PowerBuilder程序系统错误解决方法
  • 求教:文件打包移植错误发生排序错误,小弟努力送分送分啦!59~~~
  • 错误:将'const x'作为'x'的'this'实参时丢弃了类型限定问题解决
  • 解决服务器应用程序不可用,错误:0x80070005拒绝访问的错误
  • 几个windows平台C++开发错误举例
  • iis8.5显示ASP的详细错误信息500 内部服务器错误解决方法
  • 安装hadoop时出现内存不够及其它一些常见的hadoop错误解决办法
  • http错误404-文件或目录未找到 错误的解决方法
  • PHP严重致命错误处理:php Fatal error: Cannot redeclare class or function
  • mysql启动错误之mysql启动报1067错误解决方法
  • linux/centos安装nginx常见错误及解决办法
  • gnu c++如何得到对于编译错误和运行错误的帮助?
  • 紧急求救:在LINUX下如何根据错误代码,查出对应的错误描述?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3