编写一C语言程序,实现在程序运行时通过系统调用fork( )创建两个子进程

1.编写一C语言程序,实现在程序运行时通过系统调用fork( )创建两个子进程,使父、子三进程并发执行,父亲进程执行时屏幕显示“I am father”,儿子进程执行时屏幕显示“I am son”,女儿进程执行时屏幕显示“I am daughter”。

#include <stdio.h>
int main()
{
int pid;
/*这里创建了一个子进程1*/
pid=fork();
if(pid==0)
printf("I am son,my pid is %d.\n",getpid());

else if(pid>0)
{

/*从子进程1返回到父进程时,再创建子进程2。*/
printf("I'm father ,my pid is %d.\n",getpid());
pid=fork();
if(pid==0)
printf("I'm daughter process,my pid is %d.\n",getpid());
else if(pid>0)
printf("I'm father process,my pid is %d.\n",getpid());
else
printf("fork() error.\n");
}
else printf("fork() error.\n");
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2019-08-24
#include
<stdio.h>
int
main()
{
int
pid;
/*这里创建了一个子进程1*/
pid=fork();
if(pid==0)
printf("I
am
son,my
pid
is
%d.\n",getpid());
else
if(pid>0)
{
/*从子进程1返回到父进程时,再创建子进程2。*/
printf("I'm
father
,my
pid
is
%d.\n",getpid());
pid=fork();
if(pid==0)
printf("I'm
daughter
process,my
pid
is
%d.\n",getpid());
else
if(pid>0)
printf("I'm
father
process,my
pid
is
%d.\n",getpid());
else
printf("fork()
error.\n");
}
else
printf("fork()
error.\n");
}

编写一C语言程序,实现在程序运行时通过系统调用fork( )创建两个子...
int main(){ int pid;\/*这里创建了一个子进程1*\/ pid=fork();if(pid==0)printf("I am son,my pid is %d.\\n",getpid());else if(pid>0){ \/*从子进程1返回到父进程时,再创建子进程2。*\/ printf("I'm father ,my pid is %d.\\n",getpid());pid=fork();if(pid==0)print...

使用C语言编程实现:父进程创建二个子进程,三个进程各自打印出其进程
\/*调用fork函数创建进程1*\/ if ( ( pid1=fork() ) < 0 ){ \/*fork()返回值为负数,则创建进程失败*\/ printf( "ProcessCreate Failed!");exit(-1);} \/ \/*fork()返回值为0,则创建子进程成功且当前进程为子进程 \/ if ( ( pid1=fork() ) == 0 ){ printf( "b\\n" ); \/...

C语言完成:父进程创建两个子进程,父子进程都在屏幕上显示自己的进程io号...
pid_t child1,child2;child1=fork();if(child1==-1){ printf("Child1 fork error!\\n");exit(1);} else if(child1==0){ printf("The returned value is %d\\n In child1 process!!\\nMy PID is %d\\n",child1,getpid());} else { child2=fork();if(child2==-1){ printf("...

在Linux下用C语言编程
你可以在默认的路径下创建你的邮箱文件,然后测试一下这个程序.当然这个程序还有很多地方要改善的.我们后面会对这个小程序改善的,再看我的改善之前你可以尝试自己改善一下.比如让用户指定邮相的路径和睡眠时间等等.相信自己可以做到的.动手吧,勇敢的探险者.好了进程一节的内容我们就先学到这里了.进程是一...

探索Linux系统中的Fork进程管理linuxfork进程
实际上,利用Fork进程管理模式可以创建任意多个子进程,并且可以直接使用系统中存在的函数,使用起来非常方便、快捷。我们可以使用C语言来实现Fork进程管理。下面是一个简单例子:include include include int main(){ pid_t pid;\/* fork a process *\/ pid = fork();if (pid { fprintf(stderr, &#...

操作系统课程设计 (包括进程管理、进程的同步和互斥、存储管理)
2.设计内容1)进程的创建和控制编写一段程序,使用系统调用fork()创建两个子进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。每个进程在屏幕上显示一个字符,记录屏幕上的显示结果,并分析原因。修改以编写的程序,将每个进程输出一个字符改为每个进程输出一句话。2)进程的软中断通信使用系统调用fork()...

写一个linux下写个关于c语言的双守护进程,就是监视一个进程,当其死掉...
可以分三步来做:做两个简单的守护进程,并能正常运行 监控进程是否在运行 启动进程 综合起来就可以了,代码如下:被监控进程thisisatest.c(来自http:\/\/www.cnblogs.com\/ringwang\/p\/3528093.html):include<unistd.h> include<signal.h> include<stdio.h> include<stdlib.h> include<sys\/param.h...

C语言创建进程
fork()应该是Linux操作系统的函数。从#include <sys\/signal.h>和fork()上判断,这个程序应该是Linux操作系统的应用程序。Windows上应该用CreateProcess创建进程 获取进程ID用 DWORD GetWindowThreadProcessld(HWND hwnd,LPDWORD lpdwProcessld)hWnd:窗口句柄。lpdwProcessld:接收进程标识的32位值的地址。

c语言如何实现多线程同时运行
一、引入线程库 在C语言中实现多线程,首先需要引入相关的线程库。常见的线程库有pthreads库,它是可移植的,可以在多种操作系统上运行。通过包含对应的头文件,我们可以使用其中的函数来创建和管理线程。二、创建线程 在引入了线程库之后,我们需要创建线程。可以使用pthread_create函数来创建一个新的线程...

关于fork()函数
fork函数在多任务处理、并发编程和系统编程等领域中非常常见。它允许一个程序创建多个独立的执行流,这些执行流可以并行运行或根据需要进行协同工作。在服务器处理请求时,常常需要创建多个子进程来处理并发请求,提高系统的吞吐量和响应速度。同时,对于需要复杂并行处理或资源管理的情况,fork也是实现这些功能的...

相似回答