我们做操作系统实验,编制简单的Shell程序,
该程序在用户登录时自动执行,显示某些提示信息,如“WelcometoLinux”,并在命令提示符中包含当前时间、当前目录和当前用户名等基本信息。给了源程序清单#inclu...
该程序在用户登录时自动执行,显示某些提示信息,如“Welcome to Linux”, 并在命令提示符中包含当前时间、当前目录和当前用户名等基本信息。给了源程序清单
#include<stdio.h>
#include<sys/wait.h>
int main(){
printf("Hello Linux\n");
int pid;
int state;
int pfd[2];
pipe(pfd);
if (fork()==0){
printf("In the grep progress\n");
dup2(pfd[0],0);
close(pfd[0]);
close(pfd[1]);
execlp("grep","grep","sh",0);
perror("exelp grep error");
}
esle if(fork()==0){
printf("In the ps progress\n");
dup2(pfd[1],1);
close(pfd[0]);
close(pfd[1]);
execlp("ps","ps","-ef",0);
perror("execlp ps -ef");
}
close(pfd[1]);
close(pfd[0]);
wait(&state);
wait(&state);
}
我的linux是在虚拟机下装的red flag 4.0.请问这个怎么执行阿,摆脱说的详细一点,谢谢了,我是菜鸟。 展开
#include<stdio.h>
#include<sys/wait.h>
int main(){
printf("Hello Linux\n");
int pid;
int state;
int pfd[2];
pipe(pfd);
if (fork()==0){
printf("In the grep progress\n");
dup2(pfd[0],0);
close(pfd[0]);
close(pfd[1]);
execlp("grep","grep","sh",0);
perror("exelp grep error");
}
esle if(fork()==0){
printf("In the ps progress\n");
dup2(pfd[1],1);
close(pfd[0]);
close(pfd[1]);
execlp("ps","ps","-ef",0);
perror("execlp ps -ef");
}
close(pfd[1]);
close(pfd[0]);
wait(&state);
wait(&state);
}
我的linux是在虚拟机下装的red flag 4.0.请问这个怎么执行阿,摆脱说的详细一点,谢谢了,我是菜鸟。 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询