我们做操作系统实验,编制简单的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.请问这个怎么执行阿,摆脱说的详细一点,谢谢了,我是菜鸟。
展开
 我来答
hewton
2008-01-02 · TA获得超过321个赞
知道答主
回答量:69
采纳率:0%
帮助的人:114万
展开全部
先将这段代码用编译为可执行程序:
gcc -o <可执行程序名> <源程序名>
例如:gcc -o hello hello.c
将该<可执行程序>拷贝到用户的根目录下

然后用vi修改该用户的根目录下的.bash_profile文件,增加最后一行:
. <可执行程序名>
例如:. hello

OK,只要重新登录该帐号,就可以自动执行这段代码了
这段代码的执行结果相当于在命令行下执行:
ps -ef|grep sh
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式