请问大家能否用java写一个会产生大量僵尸进程的代码?或者在某种情况下会产生大量真正的僵尸进程。简单的就可以
暂时的不算。
万分感谢。有此问题在于我的一个app里面的一个jvm经过N天之后突然出现了900多个defunct僵尸进程,结果JVM抛出了好多outofmemory 异常,检查代码发现里面有不少地方调用了Runtime得exec方法,不过也不过是执行一些简单得unix命令,类似于ps, kill, dk 等等的,不知道为什么会产生这么多僵尸。

解决方案 »

  1.   

    java的进程应该代表一个JAVA的程序实例。 当这个实例执行过程中,如果所有的守护线程都自然死亡了,那么这个进程也就结束了,否则如果有一个线程还存活。那有可能你的进程不会被kill掉。
      

  2.   

    回复k7sem 
     
    僵尸进程,是已经结束或者说完结的进程,它里面肯定已经不包含任何线程了,奇怪的是,主进程无法接受这些孩子的退出信号。不知道用java如何写出这么一个东西:(