zoukankan      html  css  js  c++  java
  • Linux 中同名进程的查杀

    长久一段时间没有做任何工作总结了,如果用工作忙来敷衍那是欺骗自己,承认这一段时间拒绝进步了。

     

    在系统运维中,有许多同名进程需要kill是常有的事情,

    image

    数一下battle这个进程的数量

    [root@HDSG-4dtime-S2 ~]# netstat -ltpun | grep battle | wc -l
    16

    数量有16个之多,如果需要手工kill,则得一个个kill PID && kill PID

    没错,我之前就是这么做的,感觉有点累。

    先记录一下有用的几个命令:

    联系到这个命令:这里深恶痛绝一下那些在文本中即使用tab又使用空格的二货。

    第一个:cut

    cut [选项] 文件名
     
    选项:
     
    -f 列数值:  想提取的第几列
    -d 分隔符: 按照指定的分隔符对文件中的内容进行切割列

    看下效果:

    原始文本内容如下:

    [root@HDSG-4dtime-S2 ~]# cat demo.format 
    tmpfs   /dev/dev        tmpfs
    devpts  /dev/dev        devpts
    sysfs   /sys/dev        sysfs
    proc    /proc/dev       proc

    取出第一列的内容

    [root@HDSG-4dtime-S2 ~]# cut -f 1 demo.format 
    tmpfs
    devpts
    sysfs
    proc

    对第二列进行分割在取dev这三个字母这一列

    [root@HDSG-4dtime-S2 ~]# cut -f 2 demo.format | cut -d '/' -f 3
    dev
    dev
    dev
    dev

    注意:cut命令只能在以tab作为分隔符的文本中切割列有效,你要是切割看着像好几列的文本中基本都会得到整个文本,就像这样

    [root@HDSG-4dtime-S2 ~]# df -h [显示出来多完美的一个列表]
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/xvda1       20G  5.8G   13G  31% /
    tmpfs           3.9G     0  3.9G   0% /dev/shm
    /dev/xvdb1       99G   23G   71G  25% /data
    [root@HDSG-4dtime-S2 ~]# df -h | cut -f 5 [但是你切割第五列的时候却事与愿违]
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/xvda1       20G  5.8G   13G  31% /
    tmpfs           3.9G     0  3.9G   0% /dev/shm
    /dev/xvdb1       99G   23G   71G  25% /data
     
    想到用参数-d进行分割:这里呵呵一下,这个是不靠谱的,结果是这样
    image 
    结果是空白列。所以这里想用cut实现目的已经有点困难了。
     
     

    第二个:printf

    image

    输出类型有 s 字符串型,i 整型,f 浮点型,其中n 和m的意义看上表

    用于显示输出格式的呢?

    有下表这些:

    image

    下面有些个例子很好解释了用法:

    image

    [root@HDSG-4dtime-S2 ~]# printf '%s' 1 2 3 4 5 6
    123456[root@HDSG-4dtime-S2 ~]# printf '%s %s %s' 1 2 3 4 5 6
    1 2 34 5 6[root@HDSG-4dtime-S2 ~]# printf '%s %s %s	' 1 2 3 4 5 6
    1 2 3   4 5 6   [root@HDSG-4dtime-S2 ~]# printf '%s %s %s
    ' 1 2 3 4 5 6
    1 2 3
    4 5 6
    [root@HDSG-4dtime-S2 ~]# 

    最后一个命令就是神器 : awk

    awk是一门编程语言来着,这里说下最简单的用法

    image

    还是回到最初杀进程的目的:

    image

    我们要显示出第七列 并切割出第七列前的数字列

    image

    到这里 这列数字扔给 xargs 然后kill掉就over了。

  • 相关阅读:
    mysql-5.7(centos-6.9环境)源码安装
    Oracle 11g 体系结构思维导图
    my.cnf 配置文件参数优化
    职业生涯规划
    技能栈规划图
    操作文档 Oracle 11g (CentOS7.2环境) 静默安装
    oracle 静默安装响应文件 参数说明
    oracle em企业管理器的安装、配置及相关问题
    大数据第51天—Mysql练习题12道之六-今年10月份第一次购买商品的金额-杨大伟
    大数据第50天—Mysql练习题12道之五-活跃用户的总数-杨大伟
  • 原文地址:https://www.cnblogs.com/logon/p/3970807.html
Copyright © 2011-2022 走看看