“在进程里,如果父进程死了,那么他创建的所有子进程也一起跟着死去“
我现在用fork创建了一个子进程,在子进程里执行excel()函数(一个应用程序)
我现在关闭父进程,但是子进程生成的应用程序还在运行。
可以解释一下吗,我现在要在父进程中,关闭刚才的应用程序(父进程暂时不关闭),该怎么做?
11 个解决方案
#1
楼主在哪本书上看的?
如果父进程终止,子进程由init进程领养,子进程并不会跟着死去
如果父进程终止,子进程由init进程领养,子进程并不会跟着死去
#2
什么烂书,简直误人子弟。lz干净把它扔垃圾堆,改学APUE
#3
可以发送信号
#4
截取书中的一段。。。。
死亡: 人有生老病死,进程也一样,它可以是自然死亡,即运行到main函数的最后一个"}",从容地离我们而去;也可以是自杀,自杀有2种方式,一种是调用 exit函数, 一种是在main函数内使用return,无论哪一种方式,它都可以留下遗书,放在返回值里保留下来;它还甚至能可被谋杀,被其它进程通过另外一些方式结 束他的生命( 这里跟人有些不一样,在进程里,如果父进程死了,那么他创建的所有子进程也一起跟着死去)。
littefirebug,上次,你回我的那个帖子,不知道你继续看了没有。我上面还有个问题。。。
http://topic.csdn.net/u/20080325/17/bd060030-a318-40d3-90a2-71a4f8339b1a.html
麻烦帮忙解决以下。。。。
#5
lz看的书太害人了吧,看看这个
“在说明f o r k函数时,一定是一个父进程生成一个子进程。上面又说明了子进程将其终止状态返回给父进程。但是如果父进程在子进程之前终止,则将如何呢?其回答是对于其父进程已经终止的所有进程,它们的父进程都改变为i n i t进程。我们称这些进程由i n i t进程领养。其操作过程大致是:在一个进程终止时,内核逐个检查所有活动进程,以判断它是否是正要终止的进程的子进程,如果是,则该进程的父进程I D就更改为1 ( i n i t进程的I D )。这种处理方法保证了每个进程有一个父进程。”
推荐看《UNIX环境高级编程》
#6
什么书啊? 真是误人子弟.
#7
有电子版的吗,能给我发一份吗,或者下载网址告诉我也行。。。。
#8
csdn下载 就有!
http://download.csdn.net/
#9
都是牛人!
#10
这种水平居然敢写书!
#11
thank you,下下来了。。。。。。
#1
楼主在哪本书上看的?
如果父进程终止,子进程由init进程领养,子进程并不会跟着死去
如果父进程终止,子进程由init进程领养,子进程并不会跟着死去
#2
什么烂书,简直误人子弟。lz干净把它扔垃圾堆,改学APUE
#3
可以发送信号
#4
截取书中的一段。。。。
死亡: 人有生老病死,进程也一样,它可以是自然死亡,即运行到main函数的最后一个"}",从容地离我们而去;也可以是自杀,自杀有2种方式,一种是调用 exit函数, 一种是在main函数内使用return,无论哪一种方式,它都可以留下遗书,放在返回值里保留下来;它还甚至能可被谋杀,被其它进程通过另外一些方式结 束他的生命( 这里跟人有些不一样,在进程里,如果父进程死了,那么他创建的所有子进程也一起跟着死去)。
littefirebug,上次,你回我的那个帖子,不知道你继续看了没有。我上面还有个问题。。。
http://topic.csdn.net/u/20080325/17/bd060030-a318-40d3-90a2-71a4f8339b1a.html
麻烦帮忙解决以下。。。。
#5
lz看的书太害人了吧,看看这个
“在说明f o r k函数时,一定是一个父进程生成一个子进程。上面又说明了子进程将其终止状态返回给父进程。但是如果父进程在子进程之前终止,则将如何呢?其回答是对于其父进程已经终止的所有进程,它们的父进程都改变为i n i t进程。我们称这些进程由i n i t进程领养。其操作过程大致是:在一个进程终止时,内核逐个检查所有活动进程,以判断它是否是正要终止的进程的子进程,如果是,则该进程的父进程I D就更改为1 ( i n i t进程的I D )。这种处理方法保证了每个进程有一个父进程。”
推荐看《UNIX环境高级编程》
#6
什么书啊? 真是误人子弟.
#7
有电子版的吗,能给我发一份吗,或者下载网址告诉我也行。。。。
#8
csdn下载 就有!
http://download.csdn.net/
#9
都是牛人!
#10
这种水平居然敢写书!
#11
thank you,下下来了。。。。。。