需求, 有时候我们会有手动启动程序, 但是又在后台, 没有像服务那样有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. ExtJs--05--给window组件加入功能条以及子组件获取上级或下级组件的属性和方法

    Ext.onReady(function(){ /** 1-- 给容器组件加入控制条 及 控制项 控制条 不同的方向有多种 tbar lbar rbar bbar fbar 2-- 依据组件本身拿到上 ...

  2. Mysql数据库If语句的使用

    MySQL的if既可以作为表达式用,也可在存储过程中作为流程控制语句使用,如下是做为表达式使用: IF表达式 [sql] view plain copy 如果 expr1 是TRUE (expr1 & ...

  3. formidable处理多文件上传

    首先,在html页面中,表单上传文件的控件需要加上multiple选项,或者multiple="multiple". 然后,在nodejs程序中处理post数据的路路由中使用for ...

  4. .net core 调用数字证书 使用X509Certificate2

    .NET下面的 .netfromwork使用和asp.net core下使用方式不一样 配置文件中代码: public const string API_URL = "https://api ...

  5. C++11 POD类型

    POD,全称plain old data,plain代表它是一个普通类型,old代表它可以与c兼容,可以使用比如memcpy()这类c中最原始函数进行操作.C++11中把POD分为了两个基本概念的集合 ...

  6. 使用 "java -jar"命令启动jar包时报不支持的jdk版本异常

    在使用java -jar 命令启动一个jar包的时候,提示版本不支持: [root@hadoop01 eureka-server-master]# java -jar xuebusi-eureka-s ...

  7. vue如何在路由跳转的时候更新组件

    项目中在路由跳转的时候碰到一个问题,没有更新视图,如何解决呢: https://segmentfault.com/a/1190000008879966 http://www.tuicool.com/a ...

  8. 应用SAP PI实现SAP BW数据仓库对于第三方系统数据完美集成以及DELTA加载的分析

    注明:本篇的技术性细节参考了SAP SCN上的一篇SAP PI 和BW集成的文章,本篇文章并不打算过多探讨实现的技术细节,因为在SCN上的这篇英文文章已经完全涵盖了技术细节和配置步骤 大家可以通过搜索 ...

  9. js 实现数组元素交换位置

    /** * 数组元素交换位置 * @param {array} arr 数组 * @param {number} index1 添加项目的位置 * @param {number} index2 删除项 ...

  10. 完美解决苹果电脑mac终端无法输入大写T的问题

    [本文出自天外归云的博客园] 最近突然发现我的苹果电脑mac终端无法输入大写字母T,今天终于在同事的帮助下解决了!之前在网上查解决方法,感觉步骤描述欠佳!今天记录一下这个踩坑经验: 完美解决! 首先打 ...