QT下执行Shell 或启动外部程序
方案一:
调用linux C函数库中的int system(const char * string);应该能够实现你需要的功能
system( command )
特定指令被执行并且如果它返回一个1的退出值,那么这个作用域中的设置将会被处理。例如:
system( ls /bin ) {
SOURCES += bin/main.cpp
HEADERS += bin/main.h
}
所以如果命令ls /bin返回1,那么bin/main.cpp将被添加到源文件列表中并且bin/main.h将被添加到头文件列表中。
你是说LINUX里面的CONSOLE窗口?
fork之后,在子进程里用exec来执行一个相关程序就可以了。程序名不记得了,自己看一下就知道了。
这样就可以运行一个shell程序
char * args [2] = { "/bin/sh", NULL };
execv (args [0], args);
如果要弹出的话,用fork或system
if (fork () == 0) {
execv (args [0], args);
exit(1);
}
或
system(args[0]);
system("/etc/rc.d/init.d/leds stop");
方案二:
使用QProcess启用外部程序
因为目前的程序需要提供一个文件对比的功能,而目前