诊断系统(命令)调用的问题
Diagnosing issues with the system(command) call?
我有一个应用程序在某个时刻调用
system("/usr/sbin/iptables -t nat F")
刷新IP表。由于应用程序是多线程的,并且是由多个开发人员开发的,因此在某些时候iptables会停止设置。事实证明,我无法午餐外部进程(也尝试过system("/bin/ls")
没有成功)。这些命令可以在shell中运行,没有任何问题。
无论调用什么命令,我都会得到返回值-1
。是否有办法获得更多的信息,为什么这是失败的?
尝试在system
调用后打印errorno
或其描述字符串。添加以下内容:
#include <errno.h>
system("/bin/ls");
printf ("Error: %sn",strerror(errno));
可能会给你更多细节
相关文章:
- 在WSL:configure_file上对config_file的每次调用都失败:配置文件时出现问题
- 当调用switch语句中的函数时(即使函数不包含循环),似乎是永不结束的循环的问题
- 模板类转换问题 - 无法推断调用的函数
- Malloc 在使用线程并行化 SSH 调用时存在问题
- 调用函数时出现问题.C++
- 将值推送到 getter 函数调用的列表中时出现问题
- 在内联程序集中定义函数和从 C++ 调用时出现问题
- 在C++中实现类似 python "map"函数的问题:调用类成员函数
- 问题: 从 MFC 调用 C# 未托管 COM C++
- 使用另一个函数调用一个函数(都在类中)时出现问题.没有错误代码C++
- 关于C++从派生类调用在基类中实现的虚拟函数的问题
- 从 Qt 中的信号调用成员函数的问题
- 在抛出 'std::invalid_argument' 的实例后终止调用 what(): stoi (找不到问题所在)
- 我正在尝试解决调用没有匹配函数的问题
- C++程序问题:抛出'std::invalid_argument'实例后终止调用
- 调用 Parse int 函数时编译 parse 整数程序时出现问题
- 编译问题 C++ 同时,尝试通过调用另一个对象中的成员函数来创建 std:: 线程
- 调用模板函数的问题"No matching function for call"参数:迭代器、对象函数
- 头文件会导致函数调用后原始数组出现问题
- OVerload函数调用问题