QProcess
默認不會啟動一個 shell 來解析命令,而是直接調用操作系統的系統調用來啟動外部程序。也就是通過fork一個子線程或者exec一個子進程來執行命令。
QProcess的參數模式
QProcess
需要明確指定命令的可執行文件路徑或參數列表。
如果命令是一個可執行文件的路徑(例如 /usr/bin/rfcomm
),可以直接使用該路徑。
如果命令是一個簡單的命令名(例如 rfcomm
),QProcess
會嘗試在系統的環境變量 PATH
中查找可執行文件。
顯式啟動一個 Shell
可以顯式啟動一個 shell,并通過 shell 來解析和執行命令。
process.start("/bin/sh", QStringList() << "-c" << "rfcomm watch hci0 &");
傳遞參數列表