- 浏览: 1000565 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (529)
- 服务器 (8)
- jsp (1)
- java (6)
- AIX (1)
- solaris (3)
- linux学习 (53)
- javaScript (2)
- hibernate (1)
- 数据库 (74)
- sql语句 (8)
- oracle 学习 (75)
- oracle 案例 (42)
- oracle 管理 (42)
- Oracle RAC (27)
- oracle data guard (12)
- oracle 参数讲解 (14)
- Oracle 字符集 (8)
- oracle性能调优 (24)
- oracle备份与恢复 (12)
- oracle Tablespace (9)
- oracle性能诊断艺术 (1)
- oracle 11g学习 (5)
- oracle streams (1)
- oracle upgrade and downgrade (4)
- db2学习 (13)
- db2命令学习 (2)
- mysql (28)
- sql server (30)
- sql server 2008 (0)
- 工具 (10)
- 操作系统 (3)
- c++ (1)
- stock (1)
- 生活 (5)
- HADOOP (2)
最新评论
-
massjcy:
...
如何将ubuntu文件夹中文名改为英文 -
skypiea:
谢谢。。。
终于解决了。。。
Oracle 10.2.0.4(5)EM不能启动的解决方案(Patch 8350262) -
qwe_rt:
引用vi /etc/sysconfig/network 请问 ...
Linux操作系统下配置静态IP上网 -
liuqiang:
sudo killall -9 apache2
ps 和 kill 命令详解 -
dazuiba:
引用*绝杀 kill -9 PID 当使用此命令时,一定要通过 ...
ps 和 kill 命令详解
1.作用
kill命令用来中止一个进程。
2.格式
kill [ -s signal | -p ] [ -a ] pid ...
kill -l [ signal ]
3.参数
-s:指定发送的信号。
-p:模拟发送信号。
-l:指定信号的名称列表。
pid:要中止进程的ID号。
Signal:表示信号。
4.说明
进程是Linux系统中一个非常重要的概念。Linux是一个多任务的操作系统,系统上经常同时运行着多个进程。我们不关心这些进程究竟是如何分配的,或者是内核如何管理分配时间片的,所关心的是如何去控制这些进程,让它们能够很好地为用户服务。
Linux操作系统包括三种不同类型的进程,每种进程都有自己的特点和属性。交互进程是由一个Shell启动的进程。交互进程既可以在前台运行,也可以在后台运行。批处理进程和终端没有联系,是一个进程序列。监控进程(也称系统守护进程)时Linux系统启动时启动的进程,并在后台运行。例如,httpd是著名的Apache服务器的监控进程。
kill命令的工作原理是,向Linux系统的内核发送一个系统操作信号和某个程序的进程标识号,然后系统内核就可以对进程标识号指定的进程进行操作。比如在top命令中,我们看到系统运行许多进程,有时就需要使用kill中止某些进程来提高系统资源。在讲解安装和登陆命令时,曾提到系统多个虚拟控制台的作用是当一个程序出错造成系统死锁时,可以切换到其它虚拟控制台工作关闭这个程序。此时使用的命令就是kill,因为kill是大多数Shell内部命令可以直接调用的。
5.应用实例
(1)强行中止(经常使用杀掉)一个进程标识号为324的进程:
#kill -9 324
(2)解除Linux系统的死锁
在Linux中有时会发生这样一种情况:一个程序崩溃,并且处于死锁的状态。此时一般不用重新启动计算机,只需要中止(或者说是关闭)这个有问题的程序即可。当kill处于X-Window界面时,主要的程序(除了崩溃的程序之外)一般都已经正常启动了。此时打开一个终端,在那里中止有问题的程序。比如,如果Mozilla浏览器程序出现了锁死的情况,可以使用kill命令来中止所有包含有Mozolla浏览器的程序。首先用top命令查处该程序的 PID,然后使用kill命令停止这个程序:
#kill -SIGKILL XXX
其中,XXX是包含有Mozolla浏览器的程序的进程标识号。
(3)使用命令回收内存
我们知道内存对于系统是非常重要的,回收内存可以提高系统资源。kill命令可以及时地中止一些“越轨”的程序或很长时间没有相应的程序。例如,使用top命令发现一个无用 (Zombie) 的进程,此时可以使用下面命令:
#kill -9 XXX
其中,XXX是无用的进程标识号。
然后使用下面命令:
#free
此时会发现可用内存容量增加了。
(4)killall命令
Linux下还提供了一个killall命令,可以直接使用进程的名字而不是进程标识号,例如:
# killall -HUP inetd
*杀死进程最安全的方法是单纯使用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,而且僵尸进程占用了大量的系统资源,那么就需要在某个时候重启机器以清除进程表了。
评论
*绝杀 kill -9 PID
当使用此命令时,一定要通过ps -ef确认没有剩下任何僵尸进程。只能通过终止父进程来消除僵尸进程。如果僵尸进程被init收养,问题就比较严重了。杀死init进程意味着关闭系统。
你这段的意思是: kill -9会引发该进程的子进程变成僵尸进程,并被Init收养,从而引发更严重的问题?
我认为, 只要父进程被kill掉(不管是不是用-9), 子进程都不会变成僵尸进程。另外, 如果某父进程下存在大量僵尸子进程, kill该父进程后, 所有僵尸进程都会被系统从进程表回收(不知道是不是Init进程)
有谁有更一步的研究,发短消息通知我一下, 谢谢!
发表评论
-
自动sqlldr导入脚本
2012-08-31 17:52 1697自己写的通用的sqlldr导入脚本,配置在crontab 里面 ... -
centos 编译 安装 protobuf
2012-08-15 17:01 8599yum -y install gcc+ gcc-c++ yu ... -
linux下删除文件后没有释放空间(转)
2012-08-08 11:07 1924问题 文件被删除后,空间没有被释放 原因 在Linux或者 ... -
red hat/Centos/Oracle linux禁用单用户模式
2012-07-26 23:55 2001目的是禁用red hat/Centos/Oracle linu ... -
oracle linux server 6.0修改网卡名称
2012-07-26 01:12 2163修改网卡规则:先关闭网络服务,修改配置文件网卡的HWADDR值 ... -
centos6.0配置本地yum
2012-07-25 23:54 929centos6.0配置本地yum 使用vm虚拟机安装的cen ... -
Connection activation failed Device not managed by NetworkManager
2012-07-22 20:26 1432系统中有两个服务在管理网络,所以需要停掉一个, 1. Re ... -
warning: waiting for transaction lock on /var/lib/rpm/__db.000
2012-06-06 12:03 1157故障现象:[root@localhost Mysql4.1.1 ... -
Linux 查看目录大小及文件数量命令
2012-04-10 10:29 1187查看当前目录大小: [root@21andy.com]# ... -
linux /dev/shm的用途
2011-11-22 10:36 335321.linux下的/dev/shm是什么? /dev/shm ... -
configure/make/make install的作用
2011-08-12 01:10 859这些都是典型的使用GNU的AUTOCONF和AUTOMAKE产 ... -
执行脚本出现bin/bash: bad interpreter: No such file or directory
2011-07-27 16:50 722错误原因之一很有可能是你的脚本文件是DOS格式的, 即每一行的 ... -
Ubuntu下Oracle的自动启动
2011-07-06 23:38 2443一、使用root用户修改/etc/oratab 文件: $ ... -
如何将ubuntu文件夹中文名改为英文
2011-03-07 02:10 8533ubuntu对中文的支持越来越好,这自然是好事。不过在终端下输 ... -
Ubuntu 10.04下的搭建SUN JAVA开发环境
2011-03-07 00:53 923下面是Ubuntu 10.04下的搭 ... -
Ubuntu Server 安装图形桌面环境
2011-03-07 00:43 11621.准备环境首先得安装好ubuntu-10.04-server ... -
ubuntu安装SSH,支持开启sftp服务
2011-03-06 23:55 2695ubuntu安装SSH 安装 SSH(Secure Shel ... -
ubuntu终端乱码问题解决方案
2011-03-05 23:12 1813解决方法: 一. Ubuntu默认的中文字符编 ... -
linux使用sar命令进行系统监视优化
2011-01-23 01:30 3915了解如何将用户抱怨与 ... -
Linux启动过程简介
2011-01-22 23:56 1073Bootloader 在Alpha/AXP平台 ...
相关推荐
Linux kill命令 Linux kill命令用于删除执行中的程序或工作。 kill可将指定的信息送至程序。预设的信息为SIGTERM(15),可将指定程序终止。若仍无法终止该程序,可使用SIGKILL(9)信息尝试强制删除程序。程序或工作的...
ps命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等,总之大部分信息都是可以通过执行该命令得到的。...
1. cd 2. pwd 3. ls 4. passwd 5. who 6. cat 7. mkdir 8. rmdir 9. chmod 10. chown ...26. kill 27. ps pstree 28. top 29. expr 30. locate 31. split 33. man,info 34. alias 35. unalias 36. clear
可以直接打印 共11页 第一章 目录及文件操作命令 2 1.1 ls 2 1.2 pwd 2 1.3 cd 2 1.4 mkdir 2 1.5 rmdir 2 1.6 cat 2 1.7 head 2 1.8 more 2 ...3.2 ps 7 ...3.4 kill 7 第四章 系统管理和用户管理...UNIX的Shell命令详解 10
今天发现服务器上Tomcat 8080端口起不来,老提示端口已经被占用。 使用命令: ps -aux | grep tomcat 发现并没有8080端口的Tomcat进程。 使用命令: ...然后判断是否使用KILL命令干掉! 方法二:直接使用
入门学习Linux常用必会60个命令实例详解 Linux必学的60个命令 Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作、文件存取、目录操作、进程管理、文件权限设定等。所以,在Linux系统上工作离不...
运维工程师必会的109个Linux命令,分为 ...进程管理 crontab kill ps nohup.. [5].网络管理 finger ftp netstat.. [6].系统管理 cal clear echo free.. [7].更多参考等不同部分,分类和解释都非常明晰。
fc one.txt two.txt > 3st.txt 对比二个文件并把不同之处输出到3st.txt文件中,"> "和"> >" 是重定向命令 at id号 开启已注册的某个计划任务 at /delete 停止所有计划任务,用参数/yes则不需要确认就直接停止 at ...
ps -ef | grep nginx 在进程列表里 面找master进程,它的编号就是主进程号了。 步骤2:发送信号 从容停止Nginx: kill -QUIT 主进程号 例如:kill -QUIT 16391 快速停止Nginx: kill -TERM 主进程号 强制...
第1章 UNIX操作系统概述 7 1.1 UNIX操作系统简介 7 1.2 UNIX系统组成 7 1.3 UNIX启动过程 8 1.4 UNIX用户登录过程 8 1.5 与UNIX有关的几个名词 9 第2章 UNIX基本常识 11 2.1 启动终端 11 ...6.4 grep命令详解 99
3、终止进程的工具 kill 、killall、pkill、xkill; 71 4、top 监视系统任务的工具; 73 5、进程的优先级:nice和renice; 73 八、脚本 77 ※1. Linux 脚本编写基础 77 ※1.1 开头 77 ※1.2 注释 77 ※1.3 变量 77 ...
adduser、chfn、chsh、date、exit、finger、free、fwhois、gitps、groupdel、groupmod、halt、id、kill、last、lastb、login、logname、logout、logrotate、newgrp、nice、procinfo、ps、pstree、reboot、renice、...
也可以ps -ef|grep ninx kill -9 进程号 直接启动nginx,常用语第一次启 ./sbin/nginx -c conf/nginx.conf nginx检查配置 ./nginx -t –echo出来 success或者fail nginx重启 ./nginx -s reload –会重新加载配置文件...