gpt4 book ai didi

c++ - 诊断系统(命令)调用的问题?

转载 作者:太空宇宙 更新时间:2023-11-04 07:08:17 25 4
gpt4 key购买 nike

我有一个应用程序,有时会调用

system("/usr/sbin/iptables -t nat F")

刷新 ip 表。由于该应用程序是多线程的并且由多个开发人员开发,因此在某些时候 iptables 停止设置。事实证明,我无法为外部进程提供午餐(也尝试过 system("/bin/ls") 但没有成功)。这些命令可以从 shell 运行,没有任何问题。

无论调用什么命令,我都会得到返回值 -1。有没有办法获得有关失败原因的更多信息?

最佳答案

尝试在 system 调用后打印出 errorno 或其描述字符串。添加以下内容:

#include <errno.h>

system("/bin/ls");
printf ("Error: %s\n",strerror(errno));

可能会为您提供更多详细信息。

关于c++ - 诊断系统(命令)调用的问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30528528/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com