您的位置:首页 > 其它

从标准输入中读命令并执行

2012-07-05 07:34 176 查看
#include <stdio.h>
#include <sys/wait.h>
#include<stdio.h>
#include<unistd.h>
#define MAXLINE 1024
int main(void)
{
char buf[MAXLINE];
pid_t pid;
int status;
printf("%%");
while(fgets(buf,MAXLINE,stdin)!=NULL)
{
if(buf[strlen(buf)-1]=='\n')
buf[strlen(buf)-1]=0;
if((pid=fork())<0)
{
printf("fork error");
}else if(pid == 0){
execlp(buf,buf,(char *)0);
printf("counldn`t execute: %s",buf);
exit(127);
}

/*  parent  */
if((pid=waitpid(pid,&status,0))<0)
printf("waitpid error");
printf("%%");
}
exit(0);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: