如何从QT程序启动终端中的bash脚本?

时间:2016-04-24 09:37:35

标签: bash qt shell qprocess

我希望程序检查脚本是否已经启动,如果没有 - 然后启动它(在终端 root

谢谢! ;-)

QProcess *proc = new QProcess();
     proc->setWorkingDirectory("/home/user/Documents/");
     proc->start("/home/user/Documents/script.sh");

     delete proc;

1 个答案:

答案 0 :(得分:2)

QProcess异步运行外部脚本,所以通过执行

proc->start(...);
delete proc;

你一旦开始(或者甚至在之前)就杀了它。尝试在删除之前添加waitForFinished()。

proc->start(...);
proc->waitForFinished(); 
delete proc;