我有一個爲我正在開發的基於Qt的C++應用程序開發小型依賴關係管理器的需求。這個C++應用程序將針對Linux系統。所以這就是它的工作原理。我通過system()函數執行一個shell腳本。在shell腳本中,我檢查是否安裝了所需的軟件包,如果沒有,請使用上次執行的命令的狀態退出shell腳本。我的問題是,我們如何在C++中捕獲並處理它? (我想捕捉它,所以我可以告訴,一些依賴關係都沒有安裝的用戶,並尋求用戶權限來安裝它們)在C++中捕獲shell腳本退出狀態
C++代碼:
system("./myscript.sh");
shell代碼:
iwconfig
exit $?
我已經試過這種形式給出早些時候:
用C++:
int i = system("./myscript.sh");
if(i!=0)
QMessageBox::information(this, tr("test"), tr("program exited with exit code"+i));
但後來我得到以下錯誤: 劣勢停止,因爲它從操作系統收到信號。信號名稱:SIGSEGV信號含義:分割故障
如何完成?
原型
QtCreator在出現錯誤時顯示什麼? –
如果您使用退出代碼退出程序+ std :: to_string(i)'',它會更好嗎? –