我正在从我的应用启动脚本并使用&在命令结束时在后台运行该进程:
std::string pCommand = "python myscript.py &";
int ret = system(pCommand.c_str());
if (ret == 0)
{
//No error, continue...
}
然而,即使脚本失败,system()
的返回始终为0.如果我删除了&所以它不在后台运行,然后我在失败时得到正确的退出代码。
有没有办法检测流程是否失败,或者在使用system()
执行后台流程时根本无法实现?
答案 0 :(得分:0)
如果在后台运行它,则在脚本结束之前检查ret的值,并且ret默认值可能为0.