需求, 有时候我们会有手动启动程序, 但是又在后台, 没有像服务那样有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. 精通D3.js笔记

    DOM常用属性 innerHTML: 元素标签内部的文本. innerText outerHTML outerText nodeName: 节点名称 parentNode: 父节点 nextSibli ...

  2. redis-cli 连接远程服务器

    # redis-cli -h 10.11.09.10 -p 6379 #注意空格

  3. 使用putty部署远程J2EE环境

    以前没弄过,开个帖子记录一下. 基本上要做的就是安装JDK.安装tomcat.安装sql. 1.安装JDK JDK在本机上,需要传输到远程linux服务器上.为了存放我们上传的文件.打开putty,进 ...

  4. 关于在node项目使用ioredis遇到的几个坑

    1,在ioredis中使用redis命令的方法的时候,如果有2个以上的参数,必须使用then方法来接收返回的结果,比如: redis.hget('key','field').then(function ...

  5. 挂载ios,error tip:mount: wrong fs type, bad option, bad superblock on /dev/loop0,

    挂载ios,tip: mount -t iso9660 -o loop 111.iso /isofiles 有可能是-t参数有问题,把-t参数去掉,然后挂载,就成功了

  6. git push remote error解决办法

    通常在用git clone了remote端(服务器)的git仓库后,再进行了自己一系列修改后,会将自己测试后稳定的状态push到remote端,以更新源仓库,使 其他人在pull的时候得到自己的修改. ...

  7. H3C交换机SNMP配置

    1.启动/关闭SNMP Agent服务 在系统视图模式下: 启用:snmp-agent 关闭:undo snmp-agent 注:缺省情况下snmp agent是关闭的 2. 使能或禁止SNMP相应版 ...

  8. 对Inductive Bias(归纳偏置)的理解

    参考资料: https://en.wikipedia.org/wiki/Inductive_bias http://blog.sina.com.cn/s/blog_616684a90100emkd.h ...

  9. jQuery之自定义pagination控件

    slpagination 效果: slpagination.js (function($) { $.fn.slpagination = function(options, params) { if ( ...

  10. HTML 转义字符对照表

    http://tool.oschina.net/commons 字符 十进制 转义字符 " " " & & & < < < &g ...