Shell脚本执行 - 错误处理

时间:2014-12-08 11:00:39

标签: c++ qt shell qt4

我正在使用qt creator设计一个gui应用程序。在那里,如果我按下一个按钮,.csv文件中的值将被导入到sqlite3数据库表。

为此,我使用QProcess启动一个包含导入数据命令的shell脚本。

void MainWindow::on_pushButton_clicked()
{
    QProcess process;
    process.startDetached("/bin/sh", QStringList()<< "/home/aj/myscript.sh");
}
导入的

和myscript.sh是 -

echo -e '.separator ","\n.import import_table.csv test_table' | sqlite3 testdatabase.db

这种方法背后的原因是dot命令不能直接集成到c ++ gui程序而不创建自定义解析解决方案。

现在,这种方法(QProcess和shell脚本)对我来说非常有效。但是一个瓶颈就是它没有提供任何错误处理/识别。

例如,如果导入命令在数据检索期间中途停止或者.csv中的所有值都未导入,我就不会知道问题。有没有办法知道导入过程中是否出现问题??? (通过QDebug重定向消息???)

1 个答案:

答案 0 :(得分:4)

QProcess有一个名为exitCode()的成员函数,奇怪的是它返回了进程的退出代码。

http://qt-project.org/doc/qt-5/qprocess.html

找到答案需要在Google上进行10秒的搜索以获取文档...