#include <unistd.h> #include <errno.h> int main(int argc,char **argv){ char buf[256]; . pid_ t pid=fork0; //用fork创建子进程后,子进程具有与父进程同样的代码 //pid为-1,代表没有创建成功,前还只有一个进程 . if(pid==-1) return 0; /如果创建成功,则父子进程中都会从fork执行代码 /为区分开代码是要从子进程运行还是父进程中运行,用pid判断 else if (pid= =0){ //指定子进程要执行的代码 strcpy(buf, "我是子进程"); int i,a= 5; for(i=0;i<5;i++){ printf("son --- %d\n",i); sleep(1); } else { //父进程要执行的代码 strcpy(buf, "我是父进程"); int i,a=10; for(i=5;i<a;i+ +){ . printf(" paren--- %d\n",); sleep(3); . //父子进程都会执行的代码 printf(" --- %s,my pid= %d\n" ,buf,getpid(); return 0;
时间: 2024-03-07 13:53:12 浏览: 63
实验四-Linux下的C语言编程.doc
这是一个用 C 语言编写的程序,它使用了 fork 函数创建了一个子进程并在子进程中执行一段代码,同时在父进程中也执行了一段代码。子进程的代码使用了一个字符数组 buf 存储了一段字符串,然后使用一个循环输出了五次一段信息,并在每次输出后暂停了一秒。父进程的代码同样使用了字符数组 buf 存储了一段字符串,然后使用一个循环输出了五次一段信息,并在每次输出后暂停了三秒。最后,父子进程都输出了一个包含自己进程 ID 和字符串 buf 的信息,并结束了程序。
阅读全文