📄 execute2.c
字号:
#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <signal.h>#include <sys/wait.h>#include "varlib.h"/* execute2.c - includes environmment handling */int execute(char *argv[])/* * purpose: run a program passing it arguments * returns: status returned via wait, or -1 on error * errors: -1 on fork() or wait() errors */{ extern char **environ; int pid ; int child_info = -1; if ( argv[0] == NULL ) /* nothing succeeds */ return 0; if ( (pid = fork()) == -1 ) perror("fork"); else if ( pid == 0 ){ environ = VLtable2environ(); signal(SIGINT, SIG_DFL); signal(SIGQUIT, SIG_DFL); execvp(argv[0], argv); perror("cannot execute command"); exit(1); } else { if ( wait(&child_info) == -1 ) perror("wait"); } return child_info;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -