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了。

  • 相关阅读:
    HDU1150(最小顶点覆盖)
    HDU2444(二分图判定+最大匹配)
    HDU1083(最大匹配)
    POJ3041(最小顶点覆盖)
    HDU2874(LCA应用:求两点之间距离,图不连通)
    UESTC(LCA应用:求两点之间的距离)
    HDU2586(LCA应用:在带权树中求任意两点之间的距离)
    POJ1986(LCA应用:求两结点之间距离)
    jmeter(54)-jmeter元件的作用域与执行顺序
    jmeter(53)-如何保证jenkins+ant+jmeter持续集成接口自动化生成的测试报告不会重复?
  • 原文地址:https://www.cnblogs.com/logon/p/3970807.html
Copyright © 2011-2022 走看看