在一台100多人使用的 SUN 服务器上经常发现有人滥用资源,平时用用就算了,到了交作业的时候100多号人同时登录使用,服务器明显迟缓,特别是实验室用的是瘦客户机,没硬盘,SUN 客户端需要从服务器装载系统镜像,而且编译、运行程序都要在服务器上完成。如果发现某个用户运行很多进程,并且进程还有子进程,怎么能方便的找出全部进程 并 kill 掉呢?

ps -ef | grep ^username | cut -c 10-15 | xargs kill -9

把全部进程打印出来根据用户名过滤后找出全部进程号,然后逐行 kill 掉。xargs 就是用来把 cut 后的输出逐个以空白符分割后输给 kill。注意上面的 grep ^username 不能缺 ^,^username 表示从一行开始匹配 username,比如就可以避免匹配到 sshd: username@pts/0。不过尽管加了 ^,上面的代码仍然有个小 bug,如果恰好有个进程名和用户名完全一样怎么办?可以用 ps -u 找出所有与 username 相关的进程,然后 grep -v 过滤掉 PID 只剩下进程信息,然后逐行 kill 掉,如下:

ps -u username | grep -v PID | cut -c 0-5 | xargs kill -9

不过上面的命令还有个小问题就是如果 cut 的时候不小心 cut 多了或者 cut 少了怎么办?可以用 awk 过滤一列信息出来:

ps -u username | grep -v PID | awk '{print$1}'| xargs kill -9

上面的命令也可以在 Linux 上运行,不过在 Linux 下可以用更简单的 killall,Solaris 上没有 killall:

killall -u username

一个小小的命令行反反复复改了多次,更别说上百万行的代码了,写代码太容易引入 bug 了,这就是为什么测试这么重要的原因,我觉得程序员应该用50%的时间写代码,50%的时间测代码;测试员也应该用50%的时间测代码,50%的时间写工具来自动测试代码。

kill killall、pkill、xkill

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

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

kill [信号代码] 进程ID

注:信号代码可以省略;我们常用的信号代码是-9 ,表示强制终止;

对于僵尸进程,可以用kill -9 来强制终止退出;

比如一个程序已经彻底死掉,如果kill 不加信号强度是没有办法退出,最好的办法就是加信号强度-9

killall 通过程序的名字,直接杀死所有进程

pkill 和killall 应用方法差不多,也是直接杀死运行中的程序;如果您想杀掉单个进程,请用kill 来杀掉。

linux kill tl进程,【linux】kill ;杀死某一用户下的所有进程相关推荐

  1. linux用kill命令删除进程,linux 使用kill命令杀死进程的几个办法

    常规篇: 首先,用ps查看进程,方法如下: $ ps -ef -- smx       1822     1  0 11:38 ?        00:00:49 gnome-terminal smx ...

  2. linux系统print命令,Linux系统命令大全

    命令是Linu__操作系统的利器,务必掌握好,当然不可能一下子熟练掌握,但是只要多加练习,就可熟能生巧,运用自如.下面就让小编带你去看看那些Linu__系统命令大全,希望能帮助到大家! 教程 | Li ...

  3. linux命令中强杀进程,Linux 系统中kill命令杀死进程常用技巧

    目录 前言 基础 进阶 1 查找进程号的方式进行改进 2 将常规的两步杀死进程合并为一步 3 强制踢掉登陆用户 kill的注意事项 前言 在Linux的系统中,kill是我们最常见的命令之一. kil ...

  4. kill掉多个进程linux中的sudo,linux下批量kill进程的方法

    --kill某个用户下的所有进程(用户为test) --pkill # pkill -u test --killall # killall -u test --ps # ps -ef | grep t ...

  5. linux下杀死全部进程,linux下批量杀死进程

    ps aux|grep python|grep -v grep|cut -c 9-15|xargs kill -15 管道符"|"用来隔开两个命令,管道符左边命令的输出会作为管道符 ...

  6. linux+pid的管理,Linux 进程管理

    以下是Process Management使用的常用命令 - bg,fg,nohup,ps,pstree,top,kill,killall,免费,正常运行时间,很好. 与过程一起工作 快速提示:Lin ...

  7. Linux - 第3节 - Linux进程概念

    目录 1.冯诺依曼体系结构 2.操作系统(Operator System) 2.1.如何理解管理 2.2.操作系统 3.进程 3.1.基本概念 3.2.进程相关操作 4.进程状态 4.1.进程状态概述 ...

  8. linux内核调度 0号进程,Linux内核源代码情景分析---第四章 进程与进程调度

    4.1 进程四要素 什么是进程? 1:有一段代码段供其执行,这代码段不一定是进程所专用,可以与其他进程公用. 2:每个进程有其专用的系统空间的堆栈(栈)[这个栈是进程起码的"私有财产&quo ...

  9. linux系统fuser命令,Linux系统使用Fuser命令的方法

    fuser命令是一个非常聪明的unix实用程序,用于查找正在使用某个文件.目录或socket的进程. 它还提供有关拥有该进程的用户和访问类型的信息..fuser工具显示了使用指定文件或文件系统的每个进 ...

最新文章

  1. Dubbo 入门实例 本地伪集群测试Demo
  2. 最大功率点跟踪测试软件,最大功率点跟踪
  3. 为什么要用webUI?
  4. [ActionScript 3.0] AS3.0 下雨及涟漪效果
  5. 15分钟,教你用Python爬网站数据,并用BI可视化分析!
  6. np.argwhere报错maximum recursion depth exceeded while calling
  7. globalmapper如何选取图像上的点_图像配准算法
  8. 为何要进入互联网行业做产品经理?
  9. leetcode[541]翻转字符串里的单词/reverse words in a string 综合考察了字符串的多种操作
  10. 美国国防部体系架构框架(DoDAF)
  11. Oracle varchar2类型
  12. dl320服务器内存型号,HP DL320 G5 1U XEON 3040/2GB内存/500G SATA 双核服务器
  13. 台式计算机如何定时关机,台式电脑设置定时关机
  14. Java 方法参数传递
  15. Java使用数组几个数字比较大小进行排序
  16. 全球与中国聚 (3,4-亚乙基二氧噻吩) (PEDOT)市场深度研究分析报告
  17. JS生成gif动态图下载
  18. SunEdison断崖之殇:光伏企业频频跳水的背后隐秘
  19. HTML利用posotion属性定位 小技巧
  20. android 方法技巧

热门文章

  1. python list去掉引号_python的一些易忘知识点
  2. 低代码可视化报表开源工具,只要在线拖拽就能做出复杂数据报表
  3. 当程序员产崽后...
  4. Spring Boot 2.x基础教程:使用Elastic Job的分片配置
  5. 皮一皮:钢铁直女?鉴定了,钢的不能再钢!
  6. 淘宝面试:说一下 ThreadLocal 的原理?网友:现在面试不看源码不行啊~
  7. 从零到两百台服务器的创业野蛮生长史
  8. 从零部署TiDB集群
  9. 17 个方面,综合对比 Kafka、RabbitMQ、RocketMQ、ActiveMQ
  10. Spring Cloud Stream消费失败后的处理策略(三):使用DLQ队列(RabbitMQ)