• 6604阅读
  • 4回复

关于QProcess运行ls等 [复制链接]

上一主题 下一主题
离线moxudong
 

只看楼主 正序阅读 楼主  发表于: 2009-10-26
现在我用
QProcess *proc = new QProcess;
proc->start("ls");

在终端上一点也没显示,里面有文件的。

但是换成proc->start("reboot");电脑可以重启了。

难道输出的位置不对?

请问这是啥问题啊?谢谢!
离线moxudong

只看该作者 4楼 发表于: 2009-10-26
回 3楼(cycloneii) 的帖子
恩,多谢!!!
离线cycloneii

只看该作者 3楼 发表于: 2009-10-26
创建的QProcess,默认读写通道已经不是stdin和stdout了,而是QProcess类的读写信道了吧?
因此你的ls结果是输出到proc的buffer里面去了,如果你想看到ls的输出,可以通过setProcessChannelMode()函数设置将ls的信息输出到主程序的标准输出和标准错误设备上,如果主程序的标准错误和标准输出时stdout和stderr,那么你才能在窗口上看到输出信息
离线moxudong

只看该作者 2楼 发表于: 2009-10-26
回 1楼(zheng501gf) 的帖子
我都是在root下操作的啊~~
那怎么能修改权限呢?
谢谢!!!
离线zheng501gf

只看该作者 1楼 发表于: 2009-10-26
应该是你所调用的可执行文件的权限问题
快速回复
限100 字节
 
上一个 下一个