Execvp不会在未知命令上返回错误

马里斯卡

我有以下代码可以派生一个孩子并执行命令“ a”,这是一个未知命令。但是,execvp不会返回错误,而是显示“成功”。如果我执行“ mv a b”,而文件“ a”不存在,也会发生相同的情况。我应该如何捕获和处理这些错误?

int main ( int argc, char **argv ){
  pid_t pid;
  char *execArgs[] = { "a", NULL };

  pid = fork();

  // if fork fails
  if (pid < 0){
    exit(EXIT_FAILURE);
  }
  else if (pid == 0){
    execvp(execArgs[0], execArgs);
    if (errno == ENOENT)
      _exit(-1);
    _exit(-2);
  }
  else{
    int status;
    wait(&status); 
    if(!WIFEXITED(status)){
      printf("error\n");
    }
    else{
      printf("success\n");
    }
  }

}
乔纳森·勒夫勒(Jonathan Leffler)

程序退出;它只是以非零状态退出。主相反的WIFEXITEDWIFSIGNALED-参见POSIX规范wait()WIFSTOPPED以及WIFCONTINUED其他选项。

使用:

int corpse = wait(&status);
if (corpse != -1 && WIFEXITED(status))
{
    int estat = WEXITSTATUS(status);
    char *err = (estat == 0) ? "success" : "failure";
    printf("PID %d exited with status %d (%s)\n", corpse, estat, err);
}
else
    printf("PID %d didn't exit; it was signalled\n", corpse);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Execvp不会在未知命令上返回错误

来自分类Dev

PuTTY PSFTP 返回错误:未知命令“´╗┐cd”

来自分类Dev

Redis“未知命令”错误

来自分类Dev

在 IF-THEN-ELSE 上出现未知命令错误

来自分类Dev

如何使我的 python 脚本不会在错误的 Popen 命令上崩溃?

来自分类Dev

Windows cmd上的sed未知命令

来自分类Dev

Windows cmd上的sed未知命令

来自分类Dev

bash不会在远程ssh命令上加载节点

来自分类Dev

cf stop 命令不会在 bluemix 上正常关闭

来自分类Dev

嵌套属性值不会在EDIT上返回

来自分类Dev

jQuery返回false不会在keydown上停止滚动

来自分类Dev

PDO不会在错误的SQL查询上引发异常

来自分类Dev

PreRegistrationHandler不会在Task错误代码上失败

来自分类Dev

出现错误未知命令:git cvsimport 上的“服务器”

来自分类Dev

execvp()永远不会在管道上完成

来自分类Dev

LFTP未知命令`;'

来自分类Dev

未知命令-LFTP

来自分类Dev

command-not-found 不会抱怨 zsh 中的未知命令

来自分类Dev

如何解决Bazaar错误bzr:错误:未知命令“ *****”?

来自分类Dev

sqlite3:错误:未知命令或无效参数:“ once”

来自分类Dev

罕见的自制错误:“未知命令:开关”

来自分类Dev

加载.tmux.conf时出现未知命令错误

来自分类Dev

油煎面包块-错误:未知命令:shell

来自分类Dev

Redis :(错误)ERR未知命令“ redis-benchmark”

来自分类Dev

WinSCP SSH 错误未知命令“ssh-rsa”

来自分类Dev

半打开套接字上的select()是否不会在close()上返回?

来自分类Dev

JScrollPane不会在JPanel上滚动

来自分类Dev

virtualenv不会在Windows上激活

来自分类Dev

代码不会在断点上停止

Related 相关文章

热门标签

归档