C ++中system()函数调用的返回值,用于运行Python程序
我在Linux上使用system()
调用运行python程序的代码进行工作。我对此函数调用返回的值感兴趣,以了解python程序执行的过程。
到目前为止,我发现了3个结果:
当python进程成功完成时,system()返回的值为0
当python进程在执行中被杀死时(使用
kill -9 pid
),system()返回的值为9当python进程由于参数错误而自行失败时,system()返回的值为512
这与我阅读的有关system()函数的内容不符。
此外,被调用的python程序的代码表明,sys.exit(2)
遇到任何错误以及sys.exit(0)
执行成功完成时,它将退出。
谁能把这两个联系起来?我是否以错误的方式解释了返回值?是否有涉及Linux的处理,采用sys.exit()
python程序功能的参数并system()
基于python返回函数的值?
回答:
该计划的退出代码调用可以与获取WEXITSTATUS(status)
具体根据手册页。另请参见手册页wait
。
int status = system("/path/to/my/program");if (status < 0)
std::cout << "Error: " << strerror(errno) << '\n';
else
{
if (WIFEXITED(status))
std::cout << "Program returned normally, exit code " << WEXITSTATUS(status) << '\n';
else
std::cout << "Program exited abnormaly\n";
}
以上是 C ++中system()函数调用的返回值,用于运行Python程序 的全部内容, 来源链接: utcz.com/qa/422782.html