Linux中kill,pkill,killall和xkill命令汇总讲解
终止一个进程或终止一个正在运行的程式,一般是通过 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命令汇总讲解的更多相关文章
- [转帖]linux中systemctl详细理解及常用命令
linux中systemctl详细理解及常用命令 2019年06月28日 16:16:52 思维的深度 阅读数 30 https://blog.csdn.net/skh2015java/article ...
- linux中systemctl详细理解及常用命令
linux中systemctl详细理解及常用命令 https://blog.csdn.net/skh2015java/article/details/94012643 一.systemctl理解 Li ...
- Linux基础知识第九讲,linux中的解压缩,以及软件安装命令
目录 Linux基础知识第九讲,linux中的解压缩,以及软件安装命令 一丶Linux Mac Windows下的压缩格式简介 2.压缩以及解压缩 3.linux中的软件安装以及卸载 1.apt进行安 ...
- [转帖]Linux中的15个基本‘ls’命令示例
Linux中的15个基本‘ls’命令示例 https://linux.cn/article-5109-1.html ls -lt 和 ls -ltr 来查看文件新旧顺序. list time rese ...
- 在Linux中新增与删除用户可以使用命令:Useradd
在Linux中新增与删除用户可以使用命令:Useradd 我们先使用man命令理解一下Useradd的用法 新增与删除用户操作需要先获取高级用户权限 输入命令:sudo -i 确定后输入高级用户密码 ...
- Linux中查看各文件夹大小命令:du -h --max-depth=1
Linux中查看各文件夹大小命令:du -h --max-depth=1 du [-abcDhHklmsSx] [-L <符号连接>][-X <文件>][--block-siz ...
- Linux命令备忘录: jobs 显示Linux中的任务列表及任务状态命令
Linux jobs命令用法详解:显示Linux中的任务列表及任务状态命令 jobs命令用于显示Linux中的任务列表及任务状态,包括后台运行的任务.该命令可以显示任务号及其对应的进程号.其中,任务号 ...
- linux中cat、more、less命令区别详解##less 最合适最好用,和vim一样好用
linux中cat.more.less命令区别详解 caoxinyiyi关注 0.0362018.07.02 15:46:17字数 641阅读 516 linux中命令cat.more.less均可用 ...
- Linux中常用的监控性能的命令(sar、mpstat,vmstat, iostat,)详解
Linux中常用的监控性能的命令有: sar:能查看CPU的平均信息,还能查看指定CPU的信息.与mpstat相比,sar能查看CPU历史信息 mpstat:能查看所有CPU的平均信息,还能查看指定C ...
随机推荐
- python_one-day
python入门_(1) 作者:_晓冬 归档:学习笔记 2017/9/9 目 录 第1章 练习... 1 1.1 格式化输出... 1 1.2 流程控制if..else. 1 1.3 流程控制whi ...
- Kali linux 2016.2(Rolling)里安装中文输入法
写在前面的话 关于中文输入法,实在是有太多了.当然,你也不可以不安装,(安装了增强工具即可),在windows 里输入中文,复制进去即可. 但是呢,想成为高手,还是要学会安装和使用各版本的中文输入法. ...
- h5学习-canvas绘制矩形、圆形、文字、动画
绘制矩形<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...
- Oracle中的序列
序列是什么? 序列是用来生成唯一.连续的整数的数据库对象.序列通常用来自动生成主键或唯一键的值.序列可以按升序排列,也可以按照降序排列. 其实Oracle中的序列和MySQL中的自增长差不多一个意思. ...
- 里氏替换原则中is和as分别的作用
is 是用于检查对象是否指定类型兼容 if(empls[i] is SE){ ((SE)empls).SayHi(); } as 不用强转可以直接转换 if(empls[i] is SE){ SE s ...
- (五)Mybatis总结之一对多、一对一
一对多 业务场景:张三既是java开发师又是大学老师又是LOL代练,张三拥有多个角色. 1.创建实体类UserInfo和RoleInfo package com.qf.mybatisdemo.pojo ...
- 掌握Spark机器学习库(课程目录)
第1章 初识机器学习 在本章中将带领大家概要了解什么是机器学习.机器学习在当前有哪些典型应用.机器学习的核心思想.常用的框架有哪些,该如何进行选型等相关问题. 1-1 导学 1-2 机器学习概述 1- ...
- Xcode 9 打印信息解决
Xcode 9 打印信息解决 打印信息 1 nw_proxy_resolver_create_parsed_array PAC evaluation error: kCFErrorDomainCFNe ...
- VS项目属性配置总结
以下是针对VS2013下的VC++项目: Debug和Release说明: Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序.Release 称为发布版本,它往往是进 ...
- 初学者对C++的切身感受
上周和一同学聊起了当前一些比较流行且运用广范的编程语言,苹果的IOS比起其它语言 来说更加言简意赅,简单明了,并且他现在也打算一直弄IOS.我之前一直是用C语言和 GNU ARM汇编语言,因为这两种语 ...