在我的设备中我有一个运行良好的程序,但有时会崩溃,当我下次运行它会给我错误并再次崩溃而且越来越多..
在查找问题后,我发现崩溃后的程序进入“Zombie”状态并且不会释放'Network Server Socket'资源,并且在下一个执行程序运行之后会出现“服务器套接字已被使用”的错误。 和崩溃!
注意:我的程序包的名称是AndroidEX.AndroidEX但是僵尸进程名称是'oidEX.AndroidEX'
我试图杀死僵尸进程但我发现我们无法杀死僵尸进程,因为它已经死了,我杀了它的PPID(zygote)和Android系统将进行软重启但启动后...我看到僵尸在这里但尚未清除,但僵尸PPID更改为1(初始化过程!) 谁知道我应该怎么做才能清除僵尸进程并释放网络套接字?
我在亚行试图杀死和清除僵尸:
adb shell kill ZOMBIES_PID
adb shell kill ZOMBIES_PPID
adb shell busybox killall zygote
adb shell busybox killall system_server
adb shell busybox killall init
adb shell am force-stop AndroidEX.AndroidEX
adb shell am force-stop oidEX.AndroidEX
adb shell busybox killall AndroidEX.AnadroidEX
但是僵尸进程没有去! (Android版本为4.1)
netstat中的网络套接字: