终止一个进程或终止一个正在运行的程式,一般是通过 kill 、killall、pkill、xkill 等进行。比如一个程式已死掉,但又不能退出,这时就应该考虑应用这些工具。

外应用的场合就是在服务器管理中,在不涉及数据库服务器程式的父进程的停止运行,也能用这些工具来终止。为什么数据库服务器的父进程不能用这些工具杀死
呢?原因非常简单,这些工具在强行终止数据库服务器时,会让数据库产生更多的文件碎片,当碎片达到一定程度的时候,数据库就有崩溃的危险。比如mysql
服务器最佳是按其正常的程式关闭,而不是用pkill mysqld 或killall mysqld这样危险的动作;当然对于占用资源过多的数据库子进程,我们应该用kill 来杀掉。

1、 kill
kill的应用是和ps 或pgrep 命令结合在一起使用的;
kill 的用法:
kill [信号代码]   进程ID
注:信号代码能省略;我们常用的信号代码是 -9 ,表示强制终止;

例如:
[vivian@localhost vivian]$ ps -auxf | grep httpd
vivian   27005  0.0  0.0  4928  680 pts/0    S    09:42   0:00  |           \_ grep httpd
root      1742  0.0  0.0 19588  560 ?        S    Nov24   0:00 /var/email/apache/bin/httpd -k start
nobody    1744  0.0  0.0 11304  540 ?        S    Nov24   0:03  \_ /var/email/apache/bin/httpd -k start
nobody   23055  0.0  2.3 327748 24232 ?      S    Nov26   1:43  \_ /var/email/apache/bin/httpd -k start
nobody   23087  0.0  2.4 328252 24832 ?      S    Nov26   1:38  \_ /var/email/apache/bin/httpd -k start
nobody   10607  0.0  2.3 327144 24064 ?      S    Nov27   1:12  \_ /var/email/apache/bin/httpd -k start

我们看上面例子中的第二列,就是进程PID的列,其中1742是httpd服务器的父进程,剩下列出的进程都是1742的子进程;如果我们杀掉父进程1742的话,其下的子进程也会跟着死掉;
[vivian@localhost vivian]$ kill 1742
[vivian@localhost vivian]$ps -auxf | grep httpd //已经找不到httpd了

对于僵尸进程,能用kill -9 来强制终止退出;
比如一个程式已完全死掉,如果kill 不加信号强度是没有办法退出,最佳的办法就是加信号强度 -9

2 、killall
killall 通过程式的名字,直接杀死所有进程,咱们简单说一下就行了。
用法:killall 正在运行的程式名
killall 也和ps或pgrep 结合使用,比较方便;通过ps或pgrep 来查看哪些程式在运行;
举例:
[vivian@localhost vivian]$ pgrep -l  httpd
1742 httpd
1744 httpd
23055 httpd
23087 httpd
10607 httpd
[vivian@localhost vivian]$ killall httpd
3、 pkill

pkill 和killall 应用方法差不多,也是直接杀死运行中的程式;如果你想杀掉单个进程,请用kill 来杀掉。
应用方法:
#pkill    正在运行的程式名

4 、xkill
xkill 是在桌面用的杀死图像界面的程式。比如当firefox 出现崩溃不能退出时,点鼠标就能杀死firefox 。当xkill运行时出来和个人脑骨的图标,哪个图像程式崩溃一点就OK了。如果你想终止xkill
,就按右键取消;
xkill 调用方法:
[vivian@localhost vivian]$ xkill

Linux中kill,pkill,killall和xkill命令汇总讲解的更多相关文章

  1. [转帖]linux中systemctl详细理解及常用命令

    linux中systemctl详细理解及常用命令 2019年06月28日 16:16:52 思维的深度 阅读数 30 https://blog.csdn.net/skh2015java/article ...

  2. linux中systemctl详细理解及常用命令

    linux中systemctl详细理解及常用命令 https://blog.csdn.net/skh2015java/article/details/94012643 一.systemctl理解 Li ...

  3. Linux基础知识第九讲,linux中的解压缩,以及软件安装命令

    目录 Linux基础知识第九讲,linux中的解压缩,以及软件安装命令 一丶Linux Mac Windows下的压缩格式简介 2.压缩以及解压缩 3.linux中的软件安装以及卸载 1.apt进行安 ...

  4. [转帖]Linux中的15个基本‘ls’命令示例

    Linux中的15个基本‘ls’命令示例 https://linux.cn/article-5109-1.html ls -lt 和 ls -ltr 来查看文件新旧顺序. list time rese ...

  5. 在Linux中新增与删除用户可以使用命令:Useradd

    在Linux中新增与删除用户可以使用命令:Useradd 我们先使用man命令理解一下Useradd的用法 新增与删除用户操作需要先获取高级用户权限 输入命令:sudo -i 确定后输入高级用户密码 ...

  6. Linux中查看各文件夹大小命令:du -h --max-depth=1

    Linux中查看各文件夹大小命令:du -h --max-depth=1 du [-abcDhHklmsSx] [-L <符号连接>][-X <文件>][--block-siz ...

  7. Linux命令备忘录: jobs 显示Linux中的任务列表及任务状态命令

    Linux jobs命令用法详解:显示Linux中的任务列表及任务状态命令 jobs命令用于显示Linux中的任务列表及任务状态,包括后台运行的任务.该命令可以显示任务号及其对应的进程号.其中,任务号 ...

  8. linux中cat、more、less命令区别详解##less 最合适最好用,和vim一样好用

    linux中cat.more.less命令区别详解 caoxinyiyi关注 0.0362018.07.02 15:46:17字数 641阅读 516 linux中命令cat.more.less均可用 ...

  9. Linux中常用的监控性能的命令(sar、mpstat,vmstat, iostat,)详解

    Linux中常用的监控性能的命令有: sar:能查看CPU的平均信息,还能查看指定CPU的信息.与mpstat相比,sar能查看CPU历史信息 mpstat:能查看所有CPU的平均信息,还能查看指定C ...

随机推荐

  1. python_one-day

    python入门_(1) 作者:_晓冬 归档:学习笔记 2017/9/9 目  录 第1章 练习... 1 1.1 格式化输出... 1 1.2 流程控制if..else. 1 1.3 流程控制whi ...

  2. Kali linux 2016.2(Rolling)里安装中文输入法

    写在前面的话 关于中文输入法,实在是有太多了.当然,你也不可以不安装,(安装了增强工具即可),在windows 里输入中文,复制进去即可. 但是呢,想成为高手,还是要学会安装和使用各版本的中文输入法. ...

  3. h5学习-canvas绘制矩形、圆形、文字、动画

    绘制矩形<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...

  4. Oracle中的序列

    序列是什么? 序列是用来生成唯一.连续的整数的数据库对象.序列通常用来自动生成主键或唯一键的值.序列可以按升序排列,也可以按照降序排列. 其实Oracle中的序列和MySQL中的自增长差不多一个意思. ...

  5. 里氏替换原则中is和as分别的作用

    is 是用于检查对象是否指定类型兼容 if(empls[i] is SE){ ((SE)empls).SayHi(); } as 不用强转可以直接转换 if(empls[i] is SE){ SE s ...

  6. (五)Mybatis总结之一对多、一对一

    一对多 业务场景:张三既是java开发师又是大学老师又是LOL代练,张三拥有多个角色. 1.创建实体类UserInfo和RoleInfo package com.qf.mybatisdemo.pojo ...

  7. 掌握Spark机器学习库(课程目录)

    第1章 初识机器学习 在本章中将带领大家概要了解什么是机器学习.机器学习在当前有哪些典型应用.机器学习的核心思想.常用的框架有哪些,该如何进行选型等相关问题. 1-1 导学 1-2 机器学习概述 1- ...

  8. Xcode 9 打印信息解决

    Xcode 9 打印信息解决 打印信息 1 nw_proxy_resolver_create_parsed_array PAC evaluation error: kCFErrorDomainCFNe ...

  9. VS项目属性配置总结

    以下是针对VS2013下的VC++项目: Debug和Release说明: Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序.Release 称为发布版本,它往往是进 ...

  10. 初学者对C++的切身感受

    上周和一同学聊起了当前一些比较流行且运用广范的编程语言,苹果的IOS比起其它语言 来说更加言简意赅,简单明了,并且他现在也打算一直弄IOS.我之前一直是用C语言和 GNU ARM汇编语言,因为这两种语 ...