杀僵尸进程 部分程序员,肯定喜欢下面命令:

  ps -ef | grep java (先查java进程ID)

  kill -9  PID(生产环境谨慎使用)

kill、killall、pkill命令的区别

  kill:通过pid来杀死进程

  killall (killall [参数] [进程名]):Linux系统中的killall命令用于杀死指定名字的进程(kill processes by name)。我们可以使用kill命令杀死指定进程PID的进程,如果要找到我们需要杀死的进程,我们还需要在之前使用ps等命令再配合grep来查找进程,而killall把这两个过程合二为一,是一个很好用的命令。

  pkill:pkill 和killall 应用方法差不多,也是直接杀死运行中的程式;如果你想杀掉单个进程,请用kill 来杀掉。例子: pkill -9 firefox

1.查看日志常用命令
    tail:  
       -n  是显示行号;相当于nl命令;例子如下:
            tail -100f test.log      实时监控100行日志

tail  -n  10  test.log   查询日志尾部最后10行的日志;

tail -n +10 test.log    查询10行之后的所有日志;

head:

跟tail是相反的,tail是看后多少行日志;例子如下:

head -n 10  test.log   查询日志文件中的头10行日志;

head -n -10  test.log   查询日志文件除了最后10行的其他所有日志;

cat:

tac是倒序查看,是cat单词反写;例子如下:

        cat -n test.log |grep "debug"   查询关键字的日志

2. 应用场景一:按行号查看---过滤出关键字附近的日志

1)cat -n test.log |grep "debug"  得到关键日志的行号

 2)通常查找出错误日志 cat error.log | grep 'nick' , 这时候我们还有个需求就是输出当前这个日志的前后几行:

    cat error.log | grep -B 5 'nick' 显示nick及前5行

    cat error.log | grep -A 5 'nick' 显示nick及后5行

    cat error.log | grep -C 5 'nick' 显示file文件里匹配nick字串那行以及上下5行

    cat error.log | grep -n -B10 -A10 5 'nick' 显示file文件里匹配nick字串前后10行

  

3. 应用场景二:选取日志中特定范围进行分析

   1)cat -n test.log |tail -n +1000|head -n 20   从第1000行开始,显示20行

tail -n +1000表示查询1000行之后的日志

head -n 20 则表示在前面的查询结果里再查前20条记录

  2)cat catalina.out | head -n 1400| tail -n +1350  显示1350行到1400行 (实现原理都差不多,就是通过语法糖)

 (1)按日期截取 :一般在日志系统中都会记录打印日志的时间,通常我们非常需要查找指定时间端的日志:

  sed -n '/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p'  test.log

  特别说明:该命令中的两个日期值必须是日志文件中包含的值,否则该命令无效.; 先 grep '2014-12-17 16:17:20' test.log 来确定日志中是否有该 时间点

 (2)按行数截取

    sed -n ‘10000,20000p’ test.log

     sed -i '/关键词/d' catalina.out  删除包含关键词的行

4.应用场景三:日志内容特别多,打印在屏幕上不方便查看

(1)使用moreless命令,

如: cat -n test.log |grep "debug" |more     这样就分页打印了,通过点击空格键翻页

(2)使用 >xxx.txt 将其保存到文件中,到时可以拉下这个文件分析

如:cat -n test.log |grep "debug"  >debug.txt

5:使用管道进行and or条件处理

  and 使用管道实现   例如:  grep -n '日志排查' test.log | grep '日志'

  or 用-E   例如:grep -n -E '日志排查|hello' test.log  满足两个关键字的都可以找出来

6:如何看查占用cpu最多的进程?

方法一

核心指令:ps

实际命令

  ps H -eo pid,pcpu | sort -nk2 | tail

执行效果如下:

[work@test01 ~]$ ps H -eo pid,pcpu | sort -nk2 | tail

31396  0.6

31396  0.6

31396  0.6

31396  0.6

31396  0.6

31396  0.6

31396  0.6

31396  0.6

30904  1.0

30914  1.0

结果

瞧见了吧,最耗cpu的pid=30914。

画外音:实际上是31396。

方法二

核心指令:top

实际命令

top

Shift + t

7:找到了最耗CPU的进程ID,对应的服务名是什么呢?

方法一

核心指令:ps

实际命令

  ps aux | fgrep pid

执行效果如下:

[work@test01 ~]$ ps aux | fgrep 30914

work 30914  1.0  0.8 309568 71668 ?  Sl   Feb02 124:44 ./router2 –conf=rs.conf

结果

瞧见了吧,进程是./router2

画外音:  grep 和fgrep的区别?

两者都是搜索工具,但功能上有区别。
  1,首先,grep支持的是标准正则表达式。
  2,fgrep,不支持正则表达式,只用于匹配固定字符串。

所以后者要比前者速度快,当然同时后者的搜索功能要弱于前者。

方法二

直接查proc即可。

实际命令

ll /proc/pid

执行效果如下:

[work@test01 ~]$ ll /proc/30914

lrwxrwxrwx  1 work work 0 Feb 10 13:27 cwd -> /home/work/im-env/router2

lrwxrwxrwx  1 work work 0 Feb 10 13:27 exe -> /home/work/im-env/router2/router2

画外音:这个好,全路径都出来了。

8:如何查看某个端口的连接情况?

方法一

核心指令:netstat

实际命令

  netstat -lap | fgrep port

执行效果如下:

[work@test01 ~]$ netstat -lap | fgrep 22022

tcp        0      0 10.58.xxx.29:22022          *:*                         LISTEN      31396/imui

tcp        0      0 10.58.xxx.29:22022          10.58.xxx.29:46642          ESTABLISHED 31396/imui

tcp        0      0 10.58.xxx.29:22022          10.58.xxx.29:46640          ESTABLISHED 31396/imui

方法二

核心指令:lsof

实际命令

  lsof -i :port

执行效果如下:

[work@test01 ~]$ /usr/sbin/lsof -i :22022

COMMAND   PID USER   FD   TYPE   DEVICE SIZE NODE NAME

router  30904 work   50u  IPv4 69065770       TCP 10.58.xxx.29:46638->10.58.xxx.29:22022 (ESTABLISHED)

router  30904 work   51u  IPv4 69065772       TCP 10.58.xxx.29:46639->10.58.xxx.29:22022 (ESTABLISHED)

router  30904 work   52u  IPv4 69065774       TCP 10.58.xxx.29:46640->10.58.xxx.29:22022 (ESTABLISHED)

Linux下查看日志用到的常用命令的更多相关文章

  1. linux下查看当前用户的 三个命令

    linux下查看当前用户的 三个命令 1,whoami; 2,id -un; 3,who -H  可以列出当前所有的    NAME (用户名)    LINE (窗口列表)    TIME(开启时间 ...

  2. linux下查看日志基本命令

    1.cat命令: 功能:1)显示整个文件. 演示样例: $ cat fileName 2)把文件串连接后传到基本输出,如将几个文件合并为一个文件或输出到屏幕. 演示样例: $ cat file1 fi ...

  3. LINUX下查看日志信息

    Linux下grep显示多行信息标准unix/linux下的grep通过以下参数控制上下文 grep -C 5 foo file 显示file文件中匹配foo字串那行以及上下5行 例如 grep -C ...

  4. Linux下查看日志文件

    问题一:日志文件打开,卡死 在公司开发的时候,开发的程序在本地测试正常,但是在测试环境却有问题.这个时候第一反应就是查看日志文件,看看日志文件里面有什么错误信息.我潇洒的执行了一下 vim log.t ...

  5. RedHat Linux下MQ安装步骤及MQ常用命令

    1.检查操作系统及内存情况:lsb_release -a; 2   检查java 环境:java -version 3   新建用户空间.用户和组: //创建用户目录 mkdir /home/mqm ...

  6. Linux下KVM虚拟机基本管理及常用命令(转)

    说明:可能有重复 一.KVM的基本管理 1.查看KVM虚拟机配置文件 #Kvm虚拟机默认配置文件位置 [root@kvm qemu]# pwd /etc/libvirt/qemu [root@kvm ...

  7. Linux下如何退出vim的一些常用命令总结

    1.保存并退出 linux下安装好了vim以及gcc后,我们开始新建一个c文件,例如: vim test.c 之后进入vim的编辑框中,点击i进入插入模式,开始编辑程序,当你编写好自己的程序之后,按E ...

  8. LINUX下查看日志

    LINUX的日志都在 /var/log 目录下:    进入此文件查看目录详情: 查看某个日志的命令: 1.cat messages可以查看某个日志文件. 2.要达到实时更新,可以通过tail命令查看 ...

  9. linux 下查看cpu位数 内核等参数命令(转)

    # uname -a Linux euis1 2.6.9-55.ELsmp #1 SMP Fri Apr 20 17:03:35 EDT 2007 i686 i686 i386 GNU/Linux ( ...

随机推荐

  1. K8S in Action

    1,容器的概念 镜像 镜像仓库 容器 镜像层:Docker镜像由多层构成.好处:网络分发效率,减少镜像的存储空间 1.2 k8s 主节点 ,它承载着 Kubernetes 控制和管理整个集群系统的控制 ...

  2. eclipse中使用maven搭建多模块项目

    暂时参考:https://blog.csdn.net/u012343297/article/details/79883870

  3. BeanPostProcessor和BeanFactoryPostProcessor的区别

    官方文档: 在Spring核心的1.8章节 使用BeanPostProcessor自定义Bean BeanPostProcessor 接口定义了您可以实现的回调方法,以提供您自己的(或覆盖容器的默认) ...

  4. Netty 介绍和应用场景(一)

    1.为什么选择Netty 需要了解了Socket通信(IO/NIO/AIO)编程,对于通信模型已经有了一个基本的认识.,果想把这些真正的用于实际工作中,那么还需要不断的完善.扩展和优化.比如经典的TC ...

  5. 启用Executor初始化线程池

    前言 上文我们介绍了JDK中的线程池框架Executor.我们知道,只要需要创建线程的情况下,即使是在单线程模式下,我们也要尽量使用Executor.即: ExecutorService fixedT ...

  6. 3D Computer Grapihcs Using OpenGL - 18 相机移动

    移动相机需要用到键盘按键,按键事件的引入需要包含头文件 #include <Qt3DInput\qkeyevent.h> 并实现QWidget中定义的虚函数keyPressEvent 我们 ...

  7. selenium+键盘鼠标

    一.简单操作 1.点击(鼠标左键)页面按钮:click() 2.请空输入框:clear() 3.输入字符串:send_keys() 二.模拟键盘 模拟键盘的操作需要先导入键盘模块:from selen ...

  8. C++ 左值与右值

    https://baike.baidu.com/item/%E5%B7%A6%E5%80%BC%E4%B8%8E%E5%8F%B3%E5%80%BC/5537417?fr=aladdin https: ...

  9. 看天猫EDM营销学企业EDM营销

    众所周知,天猫EDM营销在业内算做的风生水起,相当不错.本文就由天猫EDM营销来教大家学做企业EDM营销. 1.邮件内容相对精美,并都带有天猫tmall各个栏目的链接,并且对于重点推出了的几个店铺给出 ...

  10. c++实验8 哈夫曼编码-译码器

    哈夫曼编码-译码器 此次实验的注释解析多加不少---若对小伙伴们有帮助 希望各位麻烦点个关注 多谢 1.哈夫曼树构造算法为: (1)由给定的n个权值{w1,w2,…,wn}构造n棵只有根结点的二叉树, ...