僵尸进程:
僵尸顾名思义是已经死掉了的但还能时不时出来吓吓人的物体,比如一个数据库进程,意外宕机了,留下了一些僵尸进程,无法提供服务但又影响新服务的启动。
我们怎么处理呢?
首先我们模拟下将是进程的出现:
然后编译生成一个可执行文件:
gcc zombie.c -o zombie
然后执行zombie文件
[root@xtt192 tmp]# ./zombie
in parent process, sleep for one miniute...zZ...
in child process, and exit!
after sleeping, and exit!
top 看下:zombie代表僵尸进程
查询僵尸进程
ps -A -ostat,ppid,pid,cmd|grep -e '^[Zz]'
然后kill
[root@xtt192 ~]# ps -A -ostat,ppid,pid,cmd|grep -e '^[Zz]'
Z+ 9860 9861 [zombie] <defunct>
[root@xtt192 ~]# kill -HUP 9860
[root@xtt192 ~]# ps -A -ostat,ppid,pid,cmd|grep -e '^[Zz]'
[root@xtt192 ~]#