Chinaunix首页 | 论坛 | 博客
  • 博客访问: 407637
  • 博文数量: 119
  • 博客积分: 25
  • 博客等级: 民兵
  • 技术积分: 1061
  • 用 户 组: 普通用户
  • 注册时间: 2012-10-14 12:48
个人简介

醉心于技术。

文章分类

全部博文(119)

文章存档

2018年(34)

2016年(1)

2015年(4)

2014年(6)

2013年(74)

我的朋友

分类: 系统运维

2013-08-31 12:35:53

杀死进程最安全的方法是单纯使用kill命令,不加修饰符,不带标志。
 首先使用ps -ef命令确定要杀死进程的PID,然后输入以下命令:
 
# kill -pid
 
注释:标准的kill命令通常都能达到目的。终止有问题的进程,并把进程的资源释放给系统。然而,如果进程启动了子进程,只杀死父进程,子进程仍在运行,因此仍消耗资源。为了防止这些所谓的“僵尸进程”,应确保在杀死父进程之前,先杀死其所有的子进程。
 
确定要杀死进程的PID或PPID
 
# ps -ef | grep httpd
 
以优雅的方式结束进程
 
# kill -l PID
 
-l选项告诉kill命令用好像启动进程的用户已注销的方式结束进程。当使用该选项时,kill命令也试图杀死所留下的子进程。但这个命令也不是总能成功--或许仍然需要先手工杀死子进程,然后再杀死父进程。
 
TERM信号
 
给父进程发送一个TERM信号,试图杀死它和它的子进程。
 
# kill -TERM PPID
 
killall命令
 
killall命令杀死同一进程组内的所有进程。其允许指定要终止的进程的名称,而非PID。
 
# killall httpd
 
停止和重启进程
 
有时候只想简单的停止和重启进程。如下:
 
# kill -HUP PID
 
该命令让Linux和缓的执行进程关闭,然后立即重启。在配置应用程序的时候,这个命令很方便,在对配置文件修改后需要重启进程时就可以执行此命令。
 
绝杀 kill -9 PID
 
同意的 kill -s SIGKILL
 
这个强大和危险的命令迫使进程在运行时突然终止,进程在结束后不能自我清理。危害是导致系统资源无法正常释放,一般不推荐使用,除非其他办法都无效。
 
当使用此命令时,一定要通过ps -ef确认没有剩下任何僵尸进程。只能通过终止父进程来消除僵尸进程。如果僵尸进程被init收养,问题就比较严重了。杀死init进程意味着关闭系统。
 
如果系统中有僵尸进程,并且其父进程是init,而且僵尸进程占用了大量的系统资源,那么就需要在某个时候重启机器以清除进程表了。
资料:
阅读(1693) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:RRDtool简体中文教程 v1.01(转载)

给主人留下些什么吧!~~