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

在系统运维中,有许多同名进程需要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. Django中间件的5种自定义方法

    阅读目录(Content) Django中间件 自定义中间件 中间件(类)中5种方法 中间件应用场景 回到顶部(go to top) Django中间件 在http请求 到达视图函数之前   和视图函 ...

  2. JS随机数种子

    JS随机数种子 1 试着想一下,如果在某一个场景,我们做一个游戏,用户玩到一半的时候退出了,这样 用户下次进来可以选择继续上一次的进度继续玩,那么现在问题来了:用户玩 的进度以及用户的积分等简单的描述 ...

  3. FTP服务器配置实践

    1.为linux系统分配IP地址:192.168.X.1/24,并重启网络服务,客户端XP系统IP地址为:192.168.X.2/24, 2.查询本机是否安装了vsftpd服务,结果显示未安装,挂载光 ...

  4. CCPC2018-湖南全国邀请赛 Solution

    A - Easy $h$-index 后缀扫一下 #include <bits/stdc++.h> using namespace std; #define ll long long #d ...

  5. 20155305乔磊2016-2017-2《Java程序设计》第九周学习总结

    20155305 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC入门 JDBC简介 1.JDBC是java联机数据库的标准规范,它定义了一组标准类与 ...

  6. Python 操作 SQL 数据库 (ORCAL)

    MySQLdb.connect是python 连接MySQL数据库的方法,在Python中 import MySQLdb即可使用,至于connect中的参数很简单:host:MySQL服务器名user ...

  7. jQuery:$(document).ready()用法

    jQuery:$(document).ready()用法 $(document).ready() 方法允许我们在文档完全加载完后执行函数;

  8. Python3.x:os.listdir和os.walk(获取路径方法)的区别

    Python3.x:os.listdir和os.walk(获取路径方法)的区别 1,os.listdir 使用情况:在一个目录下面只有文件,没有文件夹,这个时候可以使用os.listdir: 例如:d ...

  9. ubinize的用法

    1.ubinize支持哪些选项 Usage: ubinize [options] <ini-file> Generate UBI images. An UBI image may cont ...

  10. G_M_网络流A_网络吞吐量

    调了两天的代码,到最后绝望地把I64d改成lld就过了,我真的是醉了. 网络吞吐量 题面:给出一张(n个点,m条边)带权(点权边权均有)无向图,点权为每个点每秒可以接受发送的最大值,边权为花费,保证数 ...