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

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

数一下battle这个进程的数量

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

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

数量有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

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

取出第一列的内容

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

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

对第二列进行分割在取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进行分割:这里呵呵一下,这个是不靠谱的,结果是这样
 
结果是空白列。所以这里想用cut实现目的已经有点困难了。
 
 

第二个:printf

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

用于显示输出格式的呢?

有下表这些:

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

[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\t' 1 2 3 4 5 6
1 2 3   4 5 6   [root@HDSG-4dtime-S2 ~]# printf '%s %s %s\n' 1 2 3 4 5 6
1 2 3
4 5 6
[root@HDSG-4dtime-S2 ~]# 

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

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

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

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

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

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

Linux 中同名进程的查杀的更多相关文章

  1. Linux中查看进程与日志

    转至:https://www.cnblogs.com/dengxiaoning/p/13336778.html Linux尽管使用频繁,仍然每次都还是需要到处去找相关的命令,如进程,日志之类的,既然这 ...

  2. Linux中查看进程的多线程pstree, ps -L

    Linux中查看进程的多线程 在SMP系统中,我们的应用程序经常使用多线程的技术,那么在Linux中如何查看某个进程的多个线程呢? 本文介绍3种命令来查看Linux系统中的线程(LWP)的情况:在我的 ...

  3. 如何在 Linux 中查看进程占用的端口号【转】

    对于 Linux 系统管理员来说,清楚某个服务是否正确地绑定或监听某个端口,是至关重要的.如果你需要处理端口相关的问题,这篇文章可能会对你有用. 端口是 Linux 系统上特定进程之间逻辑连接的标识, ...

  4. 1.1 Linux中的进程 --fork、孤儿进程、僵尸进程、文件共享分析

    操作系统经典的三态如下: 1.就绪态 2.等待(阻塞) 3.运行态 其转换状态如下图所示: 操作系统内核中会维护多个队列,将不同状态的进程加入到不同的队列中,其中撤销是进程运行结束后,由内核收回. 以 ...

  5. [转帖]Linux教程(8)-Linux中的进程和日志㐇、

    Linux教程(8)-Linux中的进程和日志 2018-08-20 23:42:23 钱婷婷 阅读数 3554更多 分类专栏: Linux教程与操作 Linux教程与使用   版权声明:本文为博主原 ...

  6. <实训|第十一天>学习一下linux中的进程,文件查找,文件压缩与IO重定向

    [root@localhost~]#序言 在今后的工作中,运维工程师每天的例行事务就是使用free -m,top,uptime,df -h...每天都要检查一下服务器,看看是否出现异常.那么今天我们就 ...

  7. linux服务器上使用find查杀webshell木马方法

    本文转自:http://ju.outofmemory.cn/entry/256317 只要从事互联网web开发的,都会碰上web站点被入侵的情况.这里我把查杀的一些方法采用随记的形式记录一下,一是方便 ...

  8. Linux下 XordDos(BillGates)木马查杀记录

    最近朋友的一台服务器突然网络异常,cpu占用率暴表,登录上去一查,cpu占用300% 左右,流量异常,经过看查进程,获取信息最终确认为中了dos木马,经过几天的研究,基本上已经清除,以下是清理记录. ...

  9. Linux中查看进程的多线程

    在SMP系统中,我们的应用程序经常使用多线程的技术,那么在Linux中如何查看某个进程的多个线程呢? 本文介绍3种命令来查看Linux系统中的线程(LWP)的情况: 在我的系统中,用qemu-syst ...

随机推荐

  1. 1107 Social Clusters[并查集][难]

    1107 Social Clusters(30 分) When register on a social network, you are always asked to specify your h ...

  2. vue 基础笔记

    Vue01笔记 ES6模块使用和新的函数声明方式 a) Import 一定不能放在函数内, 建议放在上方 b) Export 除了声明式的以外, 尽量放在代码的下方 Import {name,age} ...

  3. AVAudioFoundation(1):使用 AVAsset

    本文转自:AVAudioFoundation(1):使用 AVAsset | www.samirchen.com 本文主要内容来自 AVFoundation Programming Guide. 要了 ...

  4. PHP Fatal error: Uncaught Error: Call to undefined function pcntl_fork().. 开启php pcntl扩展实现多进程

    在使用函数pcntl_fork()时报错  Fatal error: Uncaught Error: Call to undefined function pcntl_fork()....,原因是没有 ...

  5. 微信小程序:WXML 模板

    微信小程序:WXML 模板 一.WXML 模板 网页编程采用的是 HTML + CSS + JS 这样的组合,其中 HTML 是用来描述当前这个页面的结构,CSS 用来描述页面的样子,JS 通常是用来 ...

  6. 学习Zookeeper之第2章Zookeeper安装

    第 2 章 Zookeeper安装 2.1 本地模式安装部署 2.2 配置参数解读 第 2 章 Zookeeper安装 2.1 本地模式安装部署 1)安装前准备: (1)安装 jdk (2)通过 fi ...

  7. log4j2配置按照日志级别将日志输出到不同的文件

    背景 在项目中,可能会产生非常多的日志记录,为了方便日志分析,可以将日志按级别输出到指定文件. log4j2.xml配置文件 <!--将info级别的日志单独输出到info.log中--> ...

  8. cygwin安装方法

    一.环境 OS:windows 二.安装cygwin以及各类cygwin下的软件 2.1 从官网http://www.cygwin.com/获取最新的版本 2.2 安装过程如下图

  9. Redis复制(replication)

    介绍 Redis支持简单的主从(master-slave)复制功能,当主Redis服务器更新数据时能将数据同步到从Redis服务器 配置 在Redis中使用复制功能非常容易 在从Redis服务器的re ...

  10. python 返回系统位数

    # For bit it will and bit it will import struct print()