• 大小: 89KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-23
  • 语言: 其他
  • 标签: 操作系统  

资源简介

山东大学操作系统实验代码,其中包含五个实验分别放置了文件夹

资源截图

代码片段和文件信息

/**
Author:Inno Jia
@ www.innohub.top
**/
#include “pctrl.h“


char *args[] = {“/bin/ls““-l“NULL};
int status;
int status1;

void child_ls()
{

int i;
for(i=0; args[i] != NULL; i++) 
printf(“%s “args[i]);
printf(“\n“);
//装入并执行新的程序
    // execve(args[0]argsNULL);
    status = system(“/bin/ls -l“);


}

void child_ps()
{


printf(“ps -l\n“);
//装入并执行新的程序
    // execve(args[0]argsNULL);
    status1 = system(“ps -l“);
// sleep(3);

}
int main(int argc char *argv[])
{


while(1)
{
int pid1;
int pid2;
//存放子进程号

//signal(SIGINT(sighandler_t)sigcat); 注册一个本进程处理键盘中断的函数
pid1=fork() ; //建立子进程

if(pid1<0) // 建立子进程失败?
{
printf(“Create Process fail!\n“);
exit(EXIT_FAILURE);
}
if(pid1 == 0) // 子进程执行代码段
{
//报告父子进程进程号
printf(“I am Child process %d\nMy father is %d\n“getpid()getppid());
printf(“%d child will Running: \n“getpid()); //
printf(“The ls command!\n“);
    sleep(1);
child_ls();

exit(0);

}
else
{
printf(“\nI am Parent process %d\n“getpid());

pid2 = fork();
if(pid2 <0)
{
printf(“Child Process Failed!\n“);
}
if(pid2==0)
{
printf(“I am Child process %d\nMy father is %d\n“getpid()getppid());
printf(“%d child will Running: \n“getpid()); //
printf(“The ps command!\n“);

child_ps();

exit(0);
}
if(pid2 > 0)//父进程执行代码段
{


waitpid(pid2&status10);
waitpid(pid1 &status0);

kill(pid2 SIGINT);
printf(“ps process over:%d\n“ pid1);
kill(pid1 SIGINT);
printf(“ls process over:%d\n“ pid1);
}
 }

sleep(3);
}

return EXIT_SUCCESS;
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      12288  2018-04-10 16:41  操作系统代码\Work1\.makefile.swo

     文件      12288  2018-04-10 16:40  操作系统代码\Work1\.makefile.swp

     文件        174  2018-04-10 16:41  操作系统代码\Work1\makefile

     文件      10952  2018-04-10 16:36  操作系统代码\Work1\pctl

     文件       1770  2018-04-13 11:38  操作系统代码\Work1\pctrl.c

     文件        266  2018-04-09 21:33  操作系统代码\Work1\pctrl.h

     文件       7320  2018-04-10 16:36  操作系统代码\Work1\pctrl.o

     文件        190  2018-04-16 16:36  操作系统代码\Work2\makefile

     文件        154  2018-04-15 23:26  操作系统代码\Work2\test\makefile

     文件      10408  2018-04-16 15:35  操作系统代码\Work2\test\ppipe

     文件       2039  2018-04-16 15:34  操作系统代码\Work2\test\ppipe.c

     文件       2153  2018-04-15 23:19  操作系统代码\Work2\test\tpipe.c

     文件      15768  2018-04-16 17:00  操作系统代码\Work2\thread_func

     文件       3329  2018-04-16 17:00  操作系统代码\Work2\thread_func.c

     文件      10176  2018-04-16 17:00  操作系统代码\Work2\thread_func.o

     文件        163  2018-04-23 15:37  操作系统代码\Work3\makefile

     文件      15776  2018-05-21 11:04  操作系统代码\Work3\psched

     文件       3013  2018-04-23 18:38  操作系统代码\Work3\psched.c

     文件       8504  2018-05-21 11:04  操作系统代码\Work3\psched.o

     文件       8688  2018-05-21 11:05  操作系统代码\Work3\test

     文件        224  2018-05-21 11:05  操作系统代码\Work3\test.c

     文件       4191  2018-05-07 17:12  操作系统代码\Work4\ipc.c

     文件       1224  2018-04-30 20:41  操作系统代码\Work4\ipc.h

     文件      13160  2018-04-30 20:45  操作系统代码\Work4\ipc.o

     文件        372  2018-04-30 20:30  操作系统代码\Work4\makefile

     文件      19848  2018-04-30 20:45  操作系统代码\Work4\smoker

     文件       3050  2018-04-30 20:45  操作系统代码\Work4\smoker.c

     文件       9448  2018-04-30 20:45  操作系统代码\Work4\smoker.o

     文件      20000  2018-04-30 20:45  操作系统代码\Work4\supplier

     文件       2841  2018-04-30 20:40  操作系统代码\Work4\supplier.c

............此处省略24个文件信息

评论

共有 条评论