system.c
来自「apue第二版每一章节的c语言源码」· C语言 代码 · 共 32 行
C
32 行
#include <sys/types.h>#include <sys/wait.h>#include <errno.h>#include <unistd.h>intsystem(const char *cmdstring) /* version without signal handling */{ pid_t pid; int status; if (cmdstring == NULL) return(1); /* always a command processor with Unix */ if ( (pid = fork()) < 0) { status = -1; /* probably out of processes */ } else if (pid == 0) { /* child */ execl("/bin/sh", "sh", "-c", cmdstring, (char *) 0); _exit(127); /* execl error */ } else { /* parent */ while (waitpid(pid, &status, 0) < 0) if (errno != EINTR) { status = -1; /* error other than EINTR from waitpid() */ break; } } return(status);}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?