【发布时间】:2014-05-08 16:46:19
【问题描述】:
我正在尝试在我的程序中执行ping 命令。我正在研究 RaspBerry Pi B 模型上的最新 Raspian。它告诉我:
/bin/sh-c: 0: Can't open ping -c 1 192.168.0.12
我的代码(它还没有完成,我知道下面的代码可能有一些问题):
int status;
pid_t pid;
pid = fork();
const char* commandChar = commandName.c_str();
if(pid == 0)
{
execl(SHELL, SHELL "-c", commandChar, NULL);
_exit(1);
}else if(pid < 0)
{
return false;
}
commandChar = NULL;
delete commandChar;
return true;
Ping (/bin/ping) 拥有rwsr-xr-x 权限,为什么我不能执行它以及如何使它工作?
【问题讨论】:
-
你试过用 popen() 代替吗?
-
我尝试使用 popen(),但我得到了
ping命令的全部输出。我只想要退出码,这样我就知道ping成功了。 -
只需解析退出代码的输出即可。 :)
-
但是有很多输出要处理。
标签: c++ linux process fork ping