system.c
来自「这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易」· C语言 代码 · 共 41 行
C
41 行
#include "lib.h"#include <stdlib.h>#include <stdio.h>#include <sys/wait.h>#include <unistd.h>intsystem(const char *s){ int w, status; pid_t pid; char cmd[30], *oty; oty = getenv("objtype"); if(!oty) return -1; if(!s) return 1; /* a command interpreter is available */ pid = fork(); snprintf(cmd, sizeof cmd, "/%s/bin/ape/sh", oty); if(pid == 0) { execl(cmd, "sh", "-c", s, NULL); _exit(1); } if(pid < 0){ _syserrno(); return -1; } for(;;) { w = wait(&status); if(w == -1 || w == pid) break; } if(w == -1){ _syserrno(); return w; } return status;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?