我有一个为我正在开发的基于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)'',它会更好吗? –