需求, 有时候我们会有手动启动程序, 但是又在后台, 没有像服务那样有start, 和stop的程序, 这时候需要用强制杀进程方式

涉及工具, awk, sed, xargs, kill

需求一:

  已知端口号:

    

root@corleone:/usr/local# lsof -i:8001
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
python3.5 2249 root 4u IPv4 39864777 0t0 TCP *:8001 (LISTEN)
python3.5 2256 root 4u IPv4 39864777 0t0 TCP *:8001 (LISTEN)
python3.5 2257 root 4u IPv4 39864777 0t0 TCP *:8001 (LISTEN)
python3.5 2258 root 4u IPv4 39864777 0t0 TCP *:8001 (LISTEN)
python3.5 2259 root 4u IPv4 39864777 0t0 TCP *:8001 (LISTEN)
python3.5 2260 root 4u IPv4 39864777 0t0 TCP *:8001 (LISTEN)
python3.5 2261 root 4u IPv4 39864777 0t0 TCP *:8001 (LISTEN)
python3.5 2261 root 8u IPv4 40271409 0t0 TCP corleone:8001->192.168.2.105:64060 (ESTABLISHED)
python3.5 2262 root 4u IPv4 39864777 0t0 TCP *:8001 (LISTEN)
python3.5 2262 root 8u IPv4 40271403 0t0 TCP corleone:8001->192.168.2.105:64059 (ESTABLISHED)
python3.5 2262 root 9u IPv4 40275441 0t0 TCP corleone:8001->192.168.2.105:64058 (ESTABLISHED)
python3.5 2263 root 4u IPv4 39864777 0t0 TCP *:8001 (LISTEN)
python3.5 2263 root 8u IPv4 40273470 0t0 TCP corleone:8001->192.168.2.105:63903 (ESTABLISHED)
python3.5 2264 root 4u IPv4 39864777 0t0 TCP *:8001 (LISTEN)
python3.5 2264 root 8u IPv4 40270240 0t0 TCP corleone:8001->192.168.2.105:63834 (ESTABLISHED)
python3.5 2265 root 4u IPv4 39864777 0t0 TCP *:8001 (LISTEN)
python3.5 2265 root 8u IPv4 40271042 0t0 TCP corleone:8001->192.168.2.105:63902 (ESTABLISHED)
lsof -i:8001 |sed '1d'| awk '{print $2}' | xargs kill -9

需求二:

  已知服务:

   比如我只知道要杀掉redis,但不知道redis端口号怎么办

root@corleone:/usr/local/clion-2017.2.3/bin# netstat -anpo | grep python
tcp 0 0 0.0.0.0:8001 0.0.0.0:* LISTEN 2249/python3.5 off (0.00/0/0)
tcp 0 0 0.0.0.0:8002 0.0.0.0:* LISTEN 13313/python3.5 off (0.00/0/0)
tcp 0 0 192.168.2.137:46332 192.168.2.137:3306 ESTABLISHED 2260/python3.5 keepalive (2976.00/0/0)
tcp 0 0 192.168.2.137:8001 192.168.2.105:64059 ESTABLISHED 2262/python3.5 off (0.00/0/0)
tcp 0 0 192.168.2.137:8001 192.168.2.105:64058 ESTABLISHED 2262/python3.5 off (0.00/0/0)
tcp 0 0 192.168.2.137:8001 192.168.2.105:63834 ESTABLISHED 2264/python3.5 off (0.00/0/0)
tcp 0 0 192.168.2.137:46162 192.168.2.137:3306 ESTABLISHED 2263/python3.5 keepalive (2965.99/0/0)
tcp 0 0 192.168.2.137:8001 192.168.2.105:63902 ESTABLISHED 2265/python3.5 off (0.00/0/0)
tcp 0 0 192.168.2.137:8001 192.168.2.105:64060 ESTABLISHED 2261/python3.5 off (0.00/0/0)
tcp 0 0 192.168.2.137:58598 192.168.2.137:3306 ESTABLISHED 24358/python3.5 keepalive (7198.91/0/0)
tcp 0 0 192.168.2.137:53178 192.168.2.137:3306 ESTABLISHED 2262/python3.5 keepalive (4882.82/0/0)
tcp 0 0 192.168.2.137:51662 192.168.2.137:3306 ESTABLISHED 2261/python3.5 keepalive (2324.11/0/0)
tcp 0 0 192.168.2.137:52280 180.149.131.98:80 ESTABLISHED 24358/python3.5 off (0.00/0/0)
tcp 0 0 192.168.2.137:8001 192.168.2.105:63903 ESTABLISHED 2263/python3.5 off (0.00/0/0)
tcp 0 0 192.168.2.137:43886 192.168.2.137:3306 ESTABLISHED 2264/python3.5 keepalive (2061.97/0/0)
tcp 0 0 192.168.2.137:52874 192.168.2.137:3306 ESTABLISHED 2265/python3.5 keepalive (4822.33/0/0)
unix 3 [ ] STREAM CONNECTED 5383013 14772/python
unix 3 [ ] STREAM CONNECTED 5383011 14772/python
unix 3 [ ] STREAM CONNECTED 5383009 14772/python

命令:

netstat -anpo | grep python | awk -F "[ /]+" '{print $7}' | xargs kill -9
netstat -anpo | grep python | awk -F "[ /]+" '{print $7}' | xargs -i -t kill -9 {} 效果一样, 这样更方便, 问了陈总
 

在精确一点呢:

通过二次精确过滤 $6的数据

netstat -anpo | grep python |grep LISTEN| awk -F "[ /]+" '{print $7}' 

Linux强制杀进程命令行工具的更多相关文章

  1. 【No.2】监控Linux性能25个命令行工具

    接着上一篇博文继续 [No.1]监控Linux性能25个命令行工具 10:mpstat -- 显示每个CPU的占用情况 该命令可以显示每个CPU的占用情况,如果有一个CPU占用率特别高,那么有可能是一 ...

  2. 【No.1】监控Linux性能25个命令行工具

    如果你的Linux服务器突然负载暴增,告警短信快发爆你的手机,如何在最短时间内找出Linux性能问题所在?通过以下命令或者工具可以快速定位 top vmstat lsof tcpdump netsta ...

  3. Linux 性能监控之命令行工具

    引言 对于系统和网络管理员来说每天监控和调试Linux系统的性能问题是一项繁重的工作.这些命令行工具可以在各种Linux系统下使用,可以用于监控和查找产生性能问题的原因.这个命令行工具列表提供了足够的 ...

  4. 显示器 Linux 性能 18 (一个命令行工具传递)

    对于系统和网络管理员来说每天监控和调试Linux系统的性能问题是一项繁重的工作.在IT领域作为一名Linux系统的管理员工作5年后,我逐渐认识到监控和保持系统启动并执行是多么的不easy.基于此原因. ...

  5. [Linux] tmux 终端复用命令行工具

    tmux 终端复用命令行工具 tmux 是一款终端复用命令行工具,通常用于 Terminal 的窗口管理.可以在终端软件重启后通过命令行恢复上次的 session. 安装运行 macOS 上使用 Ho ...

  6. 20个linux命令行工具监视性能(下)

    昨天晚上第一次翻译了<20 Command Line Tools to Monitor Linux Performance>中的前十个命令,翻译得不是很好,今天晚上继续把后面的十个也翻译给 ...

  7. 微软开放技术发布针对 Mac 和 Linux 的更新版 Azure Node.JS SDK 和命令行工具

    发布于 2013-12-04 作者 Eduard Koller 这次为我们使用Linux 的朋友带来了更多关于部署云上虚拟机的消息.今天,微软开放技术有限公司 (MS Open Tech),想与大家分 ...

  8. 从零开始打造个人专属命令行工具集——yargs完全指南

    前言 使用命令行程序对程序员来说很常见,就算是前端工程师或者开发gui的,也需要使用命令行来编译程序或者打包程序 熟练使用命令行工具能极大的提高开发效率,linux自带的命令行工具都非常的有用,但是这 ...

  9. -Shell 命令行工具 Cmder Babun Zsh MD

    目录 目录 Cmder:window 下增强型的 cmd + bash 简介 配置 解决中文乱码问题 添加到右键菜单 添加至环境变量 修改命令提示符号 自定义aliases Readme.md 设置c ...

随机推荐

  1. JavaWEB springmvc 使用定时任务

    1.配置web.xml 在web.xml配置使用springmvc框架,其他配置略. <display-name>xxx.com</display-name> <!-- ...

  2. HTML5学习笔记(二十):JavaScript中的标准对象

    这里提到的标准对象指ECMAScript中定义的对象,无论JavaScript运行那种环境(浏览器.Node.js)下都存在的对象. typeof 在JavaScript的世界里,一切都是对象. 但是 ...

  3. Rocket MQ 源码解析

    http://rocketmq.apache.org/rocketmq/the-design-of-transactional-message/ http://www.iocoder.cn/Rocke ...

  4. Nan-boxing技术介绍

    NaN-boxing看起来像英文翻译的“南拳”,其实它是表示一个无效的double数.NaN-boxing技术:通过一个64位的数字来表示多种数据类型的技术,它通过一个nan浮点数来保存数据,根据IE ...

  5. Solr实现 并集式、多值、复杂 过滤查询的权限【转】

    公司开发使用的搜索引擎核心是Solr,但是应为业务原因,需要相对复杂权限机制. 1)通过Solr的filterQuery可以实现field过滤,实现过滤项的效果.索引A{filter1:a,field ...

  6. 【Linux技术】linux库文件编写·入门

    一.为什么要使用库文件 我们在实际编程中肯定会遇到这种情况:有几个项目里有一些函数模块的功能相同,实现代码也相同,也是我们所说的重复代码.比如,很多项目里都有一个用户验证的功能. 代码段如下: //U ...

  7. C++中虚函数的作用是什么?它应该怎么用呢?

    虚函数联系到多态,多态联系到继承.所以本文中都是在继承层次上做文章.没了继承,什么都没得谈. 下面是对C++的虚函数这玩意儿的理解. 一, 什么是虚函数(如果不知道虚函数为何物,但有急切的想知道,那你 ...

  8. Mysql 多表查询详解

    Reference:  https://blog.csdn.net/jintao_ma/article/details/51260458 一.前言 二.示例 三.注意事项 一.前言 上篇讲到Mysql ...

  9. Mybatis缓存理解

    缓存 接触过hibernate的同学都知道hibernate中有个二级缓存,mybatis也存在二级缓存.mybatis中二级缓存有什么作用呢?mybatis提供查询缓存,可以提高查询效率,减轻数据库 ...

  10. C#学习笔记(8)——委托应用(显示,写入时间)

    说明(2017-5-30 09:08:10): 1. 定义一个委托,public delegate void MyDel();无参数,无返回值. 2. 委托作为DoSth的参数,DoSth里面调用委托 ...