一个关于父进程和子进程的问题

时间:2021-08-15 21:14:34
我看到书这样写道:

“在进程里,如果父进程死了,那么他创建的所有子进程也一起跟着死去“

我现在用fork创建了一个子进程,在子进程里执行excel()函数(一个应用程序)

我现在关闭父进程,但是子进程生成的应用程序还在运行。

可以解释一下吗,我现在要在父进程中,关闭刚才的应用程序(父进程暂时不关闭),该怎么做?

11 个解决方案

#1


楼主在哪本书上看的?
如果父进程终止,子进程由init进程领养,子进程并不会跟着死去

#2


什么烂书,简直误人子弟。lz干净把它扔垃圾堆,改学APUE

#3


可以发送信号

#4


引用 1 楼 littlefirebug 的回复:
楼主在哪本书上看的? 
如果父进程终止,子进程由init进程领养,子进程并不会跟着死去


截取书中的一段。。。。

死亡: 人有生老病死,进程也一样,它可以是自然死亡,即运行到main函数的最后一个"}",从容地离我们而去;也可以是自杀,自杀有2种方式,一种是调用 exit函数,   一种是在main函数内使用return,无论哪一种方式,它都可以留下遗书,放在返回值里保留下来;它还甚至能可被谋杀,被其它进程通过另外一些方式结 束他的生命( 这里跟人有些不一样,在进程里,如果父进程死了,那么他创建的所有子进程也一起跟着死去)。

littefirebug,上次,你回我的那个帖子,不知道你继续看了没有。我上面还有个问题。。。

http://topic.csdn.net/u/20080325/17/bd060030-a318-40d3-90a2-71a4f8339b1a.html

麻烦帮忙解决以下。。。。

#5


引用楼主 wangzhongke1983 的帖子:
我看到书这样写道: 

“在进程里,如果父进程死了,那么他创建的所有子进程也一起跟着死去“ 


lz看的书太害人了吧,看看这个
“在说明f o r k函数时,一定是一个父进程生成一个子进程。上面又说明了子进程将其终止状态返回给父进程。但是如果父进程在子进程之前终止,则将如何呢?其回答是对于其父进程已经终止的所有进程,它们的父进程都改变为i n i t进程。我们称这些进程由i n i t进程领养。其操作过程大致是:在一个进程终止时,内核逐个检查所有活动进程,以判断它是否是正要终止的进程的子进程,如果是,则该进程的父进程I D就更改为1 ( i n i t进程的I D )。这种处理方法保证了每个进程有一个父进程。”

推荐看《UNIX环境高级编程》

#6


引用楼主 wangzhongke1983 的帖子:
我看到书这样写道: 

“在进程里,如果父进程死了,那么他创建的所有子进程也一起跟着死去“ 

我现在用fork创建了一个子进程,在子进程里执行excel()函数(一个应用程序) 

我现在关闭父进程,但是子进程生成的应用程序还在运行。 

可以解释一下吗,我现在要在父进程中,关闭刚才的应用程序(父进程暂时不关闭),该怎么做?


什么书啊?  真是误人子弟.

#7


引用 5 楼 xax100000 的回复:
引用楼主 wangzhongke1983 的帖子:
我看到书这样写道:  

“在进程里,如果父进程死了,那么他创建的所有子进程也一起跟着死去“  
 

lz看的书太害人了吧,看看这个 
“在说明f o r k函数时,一定是一个父进程生成一个子进程。上面又说明了子进程将其终止状态返回给父进程。但是如果父进程在子进程之前终止,则将如何呢?其回答是对于其父进程已经终止的所有进程,它们的父进程都改变为i n i t进程。我们称这些进程由i n…


有电子版的吗,能给我发一份吗,或者下载网址告诉我也行。。。。

#8


引用 7 楼 wangzhongke1983 的回复:
有电子版的吗,能给我发一份吗,或者下载网址告诉我也行。。。。


csdn下载 就有!
http://download.csdn.net/

#9


都是牛人!

#10


这种水平居然敢写书!

#11


引用 8 楼 xax100000 的回复:
引用 7 楼 wangzhongke1983 的回复:
有电子版的吗,能给我发一份吗,或者下载网址告诉我也行。。。。 
 

csdn下载 就有! 
http://download.csdn.net/


thank you,下下来了。。。。。。

#1


楼主在哪本书上看的?
如果父进程终止,子进程由init进程领养,子进程并不会跟着死去

#2


什么烂书,简直误人子弟。lz干净把它扔垃圾堆,改学APUE

#3


可以发送信号

#4


引用 1 楼 littlefirebug 的回复:
楼主在哪本书上看的? 
如果父进程终止,子进程由init进程领养,子进程并不会跟着死去


截取书中的一段。。。。

死亡: 人有生老病死,进程也一样,它可以是自然死亡,即运行到main函数的最后一个"}",从容地离我们而去;也可以是自杀,自杀有2种方式,一种是调用 exit函数,   一种是在main函数内使用return,无论哪一种方式,它都可以留下遗书,放在返回值里保留下来;它还甚至能可被谋杀,被其它进程通过另外一些方式结 束他的生命( 这里跟人有些不一样,在进程里,如果父进程死了,那么他创建的所有子进程也一起跟着死去)。

littefirebug,上次,你回我的那个帖子,不知道你继续看了没有。我上面还有个问题。。。

http://topic.csdn.net/u/20080325/17/bd060030-a318-40d3-90a2-71a4f8339b1a.html

麻烦帮忙解决以下。。。。

#5


引用楼主 wangzhongke1983 的帖子:
我看到书这样写道: 

“在进程里,如果父进程死了,那么他创建的所有子进程也一起跟着死去“ 


lz看的书太害人了吧,看看这个
“在说明f o r k函数时,一定是一个父进程生成一个子进程。上面又说明了子进程将其终止状态返回给父进程。但是如果父进程在子进程之前终止,则将如何呢?其回答是对于其父进程已经终止的所有进程,它们的父进程都改变为i n i t进程。我们称这些进程由i n i t进程领养。其操作过程大致是:在一个进程终止时,内核逐个检查所有活动进程,以判断它是否是正要终止的进程的子进程,如果是,则该进程的父进程I D就更改为1 ( i n i t进程的I D )。这种处理方法保证了每个进程有一个父进程。”

推荐看《UNIX环境高级编程》

#6


引用楼主 wangzhongke1983 的帖子:
我看到书这样写道: 

“在进程里,如果父进程死了,那么他创建的所有子进程也一起跟着死去“ 

我现在用fork创建了一个子进程,在子进程里执行excel()函数(一个应用程序) 

我现在关闭父进程,但是子进程生成的应用程序还在运行。 

可以解释一下吗,我现在要在父进程中,关闭刚才的应用程序(父进程暂时不关闭),该怎么做?


什么书啊?  真是误人子弟.

#7


引用 5 楼 xax100000 的回复:
引用楼主 wangzhongke1983 的帖子:
我看到书这样写道:  

“在进程里,如果父进程死了,那么他创建的所有子进程也一起跟着死去“  
 

lz看的书太害人了吧,看看这个 
“在说明f o r k函数时,一定是一个父进程生成一个子进程。上面又说明了子进程将其终止状态返回给父进程。但是如果父进程在子进程之前终止,则将如何呢?其回答是对于其父进程已经终止的所有进程,它们的父进程都改变为i n i t进程。我们称这些进程由i n…


有电子版的吗,能给我发一份吗,或者下载网址告诉我也行。。。。

#8


引用 7 楼 wangzhongke1983 的回复:
有电子版的吗,能给我发一份吗,或者下载网址告诉我也行。。。。


csdn下载 就有!
http://download.csdn.net/

#9


都是牛人!

#10


这种水平居然敢写书!

#11


引用 8 楼 xax100000 的回复:
引用 7 楼 wangzhongke1983 的回复:
有电子版的吗,能给我发一份吗,或者下载网址告诉我也行。。。。 
 

csdn下载 就有! 
http://download.csdn.net/


thank you,下下来了。。。。。。