管理进程

最常用的结束进程的命令是“ kill ”,顾名思义,就是“杀死”进程的意思。
首先我们来杀死上一讲中
PID 5066 的进程。
[root@localhost ~]# kill 5066
[root@localhost ~]# top
top - 14:20:13 up 9:16, 1 user, load average: 1.61, 1.90, 1.89
Tasks: 129 total, 2 running, 127 sleeping, 0 stopped, 0 zombie
Cpu(s):
50.0%us , 0.0%sy, 0.0%ni, 50.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 1922636k total, 363104k used, 1559532k free, 46972k buffers
Swap: 2097144k total, 0k used, 2097144k free, 125036k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
5068 root 20 0 103m 1160 1008 R 99.8 0.1 78:45.04 bash
12 root 20 0 0 0 0 S 0.3 0.0 0:38.80 events/1
1 root 20 0 19352 1556 1244 S 0.0 0.1 0:01.86 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 kthreadd
3 root RT 0 0 0 0 S 0.0 0.0 0:00.05 migration/0
……
此处省略若干行
在杀死了 5066 进程后,我们发现 CPU 的占用率下降到了 50% ,也即主机
CPU 的两个核心中的一个得到了释放。接下来我们用同样的方法杀死 5068
程。至此, 我们就将两个占用
CPU 的恶意进程终止了。
当然除了
kill 命令外, Linux 还提供了 killall xkill 等用来终止进程的工具,
这里我们也简单介绍一下:
killall 通过程序的名字,直接杀死相关的所有进程, killall 也和 ps 结合使用,
首先通过
ps 来查看哪些程序在运行,然后用 killall 杀死所有相关进程,如下所
示:
[root@localhost ~]# service httpd start
正在启动 httpd [ 确定 ]
[root@localhost ~]# clear
[root@localhost ~]# ps aux|grep httpd
apache 3596 0.0 0.4 433032 8428 ? S 16:21 0:00 /usr/sbin/httpd
apache 3597 0.7 0.7 443312 15372 ? S 16:21 0:00 /usr/sbin/httpd
apache 3598 0.6 0.7 443312 15372 ? S 16:21 0:00 /usr/sbin/httpd
apache 3599 0.6 0.7 443312 15372 ? S 16:21 0:00 /usr/sbin/httpd
apache 3600 0.6 0.7 443312 15372 ? S 16:21 0:00 /usr/sbin/httpd
apache 3601 0.6 0.7 443312 15372 ? S 16:21 0:00 /usr/sbin/httpd
命令
用法: kill [-signal] pid
kill
命令终止一个进程。
pid:进程的 PID
-signal:表示向进程发出的信号, 如果没有指定任何信号, 默认发送
的信号为
SIGTERM-15),可将指定进程终止。若仍无法终止该进
程,可使用更强力的
SIGKILL-9)信号尝试强制终止进程。


apache 3602 0.6 0.7 443312 15372 ? S 16:21 0:00 /usr/sbin/httpd
apache 3603 0.6 0.7 443312 15372 ? S 16:21 0:00 /usr/sbin/httpd
apache 3604 0.7 0.7 443312 15372 ? S 16:21 0:00 /usr/sbin/httpd
root 3610 0.0 0.0 103252 856 pts/0 S+ 16:22 0:00 grep httpd
[root@localhost ~]# killall httpd
xkill 则是在桌面用的杀死图形界面的工具 1 。比如当某个图形界面程序出现
崩溃不能退出时, 运行
xkill ,用光标点击程序图形界面就可以杀死程序, 如果想
终止
xkill ,就点击鼠标右键取消。如我们现在要杀死 firefox 这个程序,首先运
xkill ,终端将输出“ Select the window whose client you wish to kill with button
1....
”: 的字样,并且鼠标箭头将变成一个叉状图案,用此光标点击 firefox 的界
面,
firefox 将立刻关闭,同时终端将输出“ xkill: killing creator of resource
0x4a0008c
”表示已经将 firefox 进程杀死。
[root@localhost ~]# xkill
Select the window whose client you wish to kill with button 1....
xkill: killing creator of resource 0x4a0008c
[root@localhost ~]#
1 当然, xkill 只有在图形界面下才能使用,而且在 CentOS RHEL 中没有 xkill 这个程序,需要额外安装
注意
kill 命令的工作原理是,向 Linux 系统的内核发送一个系统操作信号
和某个程序的进程标志号,然后系统内核就可以对进程标志号指定的
进程进行操作。
当需要终止一个前台进程的时候,通常使用 ctrl+c 组合键;但是对于
一个后台进程就必须使用
kill 命令。
另外应用的场合就是在服务器管理中,对于服务器主进程,最好是按
其正常的程序关闭,而不是用
kill 这样危险的动作。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值