資源簡介
山東大學(xué) 軟件學(xué)院 2017-2018學(xué)年春季
操作系統(tǒng)實驗一
獨立實驗答案

代碼片段和文件信息
/*
??Author:?KMDJ
??PublishedOn:?CSDN
??Filename:?exp1.c
*/
#include?“exp1.h“
int?main(int?argc?char?*argv[]){
????int?i;
????int?pid1;
????int?pid2;
????int?status1;
????int?status2;
????char?*arg1[]?=?{“/bin/ls“?“-a“?NULL};
????char?*arg2[]?=?{“/bin/ps“?“-l“?NULL};
????signal(SIGINT(sighandler_t)sigcat);
????
????pid1=fork();
????if(pid1<0){
????????printf(“Create?Process?failed!\n“);
????????exit(EXIT_FAILURE);
????}
????
????if(pid1==0){
????????printf(“I?am?Child?process?%d\nMy?father?is?%d\nI?will?execute?command?‘ls?-a‘?later\n“?getpid()?getppid());
????????printf(“\n“);
????????pause();
????????printf(“%d?child?will?Running:?\n“?getpid());
????????for(i=0;?arg1[i]!=NULL;?i++)?printf(“%s“?arg1[i]);
????????printf(“\n“);
????????status1=execve(arg1[0]?arg1?NULL);
????}
????else{
????????sleep(1);
????????pid2=fork();
????????if(pid2==0){
????????????printf(“I?am?Child?process?%d\nMy?father?is?%d\nI?will?execute?command?‘ps?-l‘?later\n“?getpid()?getppid());
????????????printf(“\n“);
????????????pause();
????????????printf(“%d?child?will?Running:?\n“?getpid());
????????????for(i=0;?arg2[i]!=NULL;?i++)?printf(“%s“?arg2[i]);
????????????printf(“\n“);
????????????printf(“\n“);
????????????status2=execve(arg2[0]?arg2?NULL);
????????}
????????else{
????????????sleep(1);
????????????printf(“\nI?am?Parent?process?%d\n“?getpid());
????????????if(kill(pid2SIGINT)>=0)
????????????????printf(“\n%d?wakeup?%d?child.\n“?getpid()?pid2);
????????????printf(“%d?wait?for?child?done.\n“?getpid());
????????????waitpid(pid2?&status1?0);
????????????printf(“%d?child?process?done.\n“?pid2);
????????????if(kill(pid1SIGINT)>=0)
????????????????printf(“\n%d?wakeup?%d?child.\n“?getpid()?pid1);
????????????printf(“%d?wait?for?child?done.\n“?getpid());
????????????waitpid(pid1?&status1?0);
????????????printf(“%d?child?process?done.\n“?pid1);
????????????printf(“\nParent?process?done\n“);
????????}
????}
????return?EXIT_SUCCESS;
}
????????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????14984??2018-05-26?10:15??exp1
?????文件????????1984??2018-07-14?17:24??exp1.c
?????文件?????????247??2018-06-05?13:02??exp1.h
?????文件????????7416??2018-05-26?10:15??exp1.o
?????文件?????????182??2018-05-26?09:55??Makefile
評論
共有 條評論