Я тебе ключевые моменты выделил.
bool QProcess::startDetached ( const QString & program, const QStringList & arguments )
[static]Starts the program program with the given arguments in a new process,
and detaches from it. Returns true on success; otherwise returns false.
If the calling process exits, the detached process will continue to live.void QProcess::start ( const QString & program, const QStringList & arguments, OpenMode mode = ReadWrite )
Starts the given program in a new process, if none is already running, passing the command line arguments in arguments. The OpenMode is set to mode.
The QProcess object will immediately enter the Starting state. If the process starts successfully, QProcess will emit started(); otherwise, error() will be emitted. If the QProcess object is already running a process, a warning may be printed at the console, and the existing process will continue running.
int QProcess::execute ( const QString & program, const QStringList & arguments )
[static]Starts the program program with the arguments arguments in a new process,
waits for it to finish, and then returns the exit code of the process. Any data the new process writes to the console is forwarded to the calling process.