转至:https://www.cnblogs.com/dengxiaoning/p/13336778.html

Linux尽管使用频繁,仍然每次都还是需要到处去找相关的命令,如进程,日志之类的,既然这样不妨自己纪录下便于下次使用

一、查看进程

一、ps(Process Status)

首先我们要了解 Linux中查看进程信息的基本命令 ps、top,其中ps(Process Status)查看的是进程信息的一个快照,显示的我们执行ps这个命令时进程的信息,top显示的是进程的动态信息,使用这个命令会看到进程信息的动态变化。

二、ps -ef|grep

ps -ef|grep *** 查看某个进程

很多时候我们在linux 中运行玩一个应用是需要知道他是否成功

比如我们 进入tomcat > bin 目录下
执行./startup.sh启动tomcat

    [root@localhost bin]# ./startup.sh

然后想要查看当前的tomcat 进程是否启动, 你们就需要ps了

[root@localhost bin]# ps -ef|grep tomcat

运行如:

三、 ps -l

ps -l 列出与 本次登录系统 有关的进程信息
ps ( ps -l, 列出的是详细信息 )

运行如:


其他相关参数:


F 代表这个程序的旗标 (flag), 4 代表使用者为 superuser;
S代表这个程序的状态 (STAT);
( 常见的进程的 STAT 如下:
R 运行 Runnable (on run queue) 正在运行或在运行队列中等待,
S 睡眠 Sleeping 休眠中, 受阻, 在等待某个条件的形成或接受到信号,
I 空闲 Idle ,
Z 僵死 Zombie(a defunct process) 进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放,
D 不可中断 Uninterruptible sleep (ususally IO) 收到信号不唤醒和不可运行, 进程必须等待直到有中断发生,
T 终止 Terminate 进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行,
P 等待交换页 ,
W无驻留页 has no resident pages 没有足够的记忆体分页可分配,
X 死掉的进程 ,
<高优先级进程 高优先序的进程 ,
N 低优先 级进程 低优先序的进程 ,
L 内存锁页 Lock 有记忆体分页分配并缩在记忆体内 ,
s进程的领导者(在它之下有子进程),
l 多进程的(使用 CLONE_THREAD, 类似 NPTL pthreads)

四、ps -aux

1、ps -aux 列出在内存中运行的 全部进程信息

运行如:

2、 ps -aux | grep *** 列出 某个 进程的详细信息

运行如:

其中每一项参数对应的实际意义
如:

[root@localhost logs]# ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 194128 7272 ? Ss Jun24 0:43 /usr/lib/systemd/systemd --switched-root --system --deserialize 22

USER:进程的所属用户,
PID :进程的进程ID号,
%CPU :进程占用的 CPU资源 百分比,
%MEM :进程占用的 物理内存 百分比,
VSZ :进程使用掉的虚拟内存量 (Kbytes) ,
RSS :进程占用的固定的内存量 (Kbytes) ,
TTY :与进程相关联的终端(tty),?代表无关,tty1-tty6是本机上面的登入者程序,pts/0表示为由网络连接进主机的程序。
STAT :进程的状态,具体见2.1列出来的部分 ,
START :进程开始创建的时间 ,
TIME :进程使用的总cpu时间,
COMMAND: 进程对应的实际程序。

五、 ps to

ps top动态显示内存中的进程信息(top)

运行如:

六、 kill -9 pid

kill -9 pid 杀死进程

其他相关操作

其中pid 对应的是每个进程的编号

比如查看tomcat 对应进程号
可以通过[root@localhost logs]# ps -aux|grep tomcat或者 [root@localhost logs]# ps -ef|grep tomcat进行进程查询

运行如:

如果想强行关闭 root 6722 43589 0 19:22 pts/1 00:00:00 grep --color=auto tomcat 就可以执行kill -9 6722 来强行杀掉改进程
注: 有些进程是不允许停止的,因为停止会造成系统的不稳定,甚至崩溃。

二、查看日志

一、tail -f catalina.out

很多时候需要知道一个程序运行后的一下信息,如tomcat 后的项目接口调用情况

  1. 进入tomcat > bin 目录下
    执行./startup.sh 启动tomcat

    运行如:

  2. 查看tomcat启动日志

1、先切换到:cd 当前的tomcat目录/logs

2、tail -f catalina.out 或者指定查多少行:tail -200 catalina.out

[root@localhost apache-tomcat-9.0.31]# cd logs
[root@localhost logs]# tail -f catalina.out

运行如:

[root@localhost logs]# tail -f -n 200  catalina.out

运行如:


比如每次的tomcat 关闭也可以清楚看到:

二、tail 参数

查看看日志参数:

-f循环读取

-q不显示处理信息

-v显示详细的处理信息

-c<数目> 显示的字节数

-n<行数> 显示行数

--pid=PID 与-f合用,表示在进程ID,PID死掉之后结束.

-q, --quiet, --silent从不输出给出文件名的首部

-s, --sleep-interval=S 与 -f 合用,表示在每次反复的间隔休眠S秒

三、关键词高亮显示

 tail -n 200 -f dpe_partner_all.log | perl -pe 's/(关键词)/\e[1;31m$1\e[0m/g'

例如高亮显示ERROR

tail -n 200 -f dpe_partner_all.log | perl -pe 's/(ERROR)/\e[1;31m$1\e[0m/g'

先看看我们目前有哪些日志文件了

假如我要查看catalina.out 文件,同时高亮显示 java.lang.IllegalArgumentException,那么就可以这样:

tail -n 200 -f  catalina.out| perl -pe 's/(java.lang.IllegalArgumentException)/\e[1;31m$1\e[0m/g'

运行如:

好了个人基本 操作纪录完毕,下次再会哈哈^_^,欢迎加群一起交流

Linux中查看进程与日志的更多相关文章

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

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

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

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

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

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

  4. Linux中查看进程占用内存的情况【转】

    转自:http://hutaow.com/blog/2014/08/28/display-process-memory-in-linux/ Linux中查看某个进程占用内存的情况,执行如下命令即可,将 ...

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

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

  6. Linux中查看进程及杀死进程命令

    Linux中想杀死fcitx进程,然后再重启它. root@www.linuxidc.com:/home/zhangbin# ps -e | grep 'fcitx' 3405 ?        00 ...

  7. Linux 中查看进程及资源使用情况

    top 自带的 top 命令类似于平时我们使用的任务管理器,能够列出当前系统中的进程及资源的使用情况. $ man top top - display Linux tasks 使用起来很简单,不加任何 ...

  8. 在linux中查看进程占用的端口号

    在Linux 上的 /etc/services 文件可以查看到更多关于保留端口的信息. 可以使用以下六种方法查看端口信息. ss:可以用于转储套接字统计信息. netstat:可以显示打开的套接字列表 ...

  9. Linux中查看进程和杀掉进程

    ps -A查看正在运行的所有进程 kill -9 xxx杀掉某个进程,xxx为进程ID.

随机推荐

  1. Vi方向键变乱码 退格键不能使用

    Ubuntu下,使用vi的时候有点问题,就是在编辑模式下使用方向键的时候,并不会使光标移动,而是在命令行中出现[A [B [C [D之类的字母,而且编辑错误的话,就连平时关于的退格键(Backspac ...

  2. maven项目 子父级工程。

    一 .什么是 maven 子父级工程? 建立一个maven项目,然后在该项目 下创建一个module,子级的maven,他继承于父级项目. 1.新建立 maven项目,file  ------new- ...

  3. mysql 相关练习题

    /* 自己查询自己 把一张表看成是两张表. 表的设计. SELECT * FROM depart; SELECT d1. NAME '部门', d2. NAME '分部门' FROM depart d ...

  4. TensorFlow 入门 | iBooker·ApacheCN

    原文:Getting Started with TensorFlow 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 不要担心自己的形象,只关心如何实现目标.--<原则>,生活原 ...

  5. AT2348 [ARC070D] HonestOrUnkind

    不妨先从无解的情况下手,不难发现当 \(A \le B\) 时是一定无解的. 因为不诚实的 \(B\) 个人可以装作是诚实的,全部说自己这一方是诚实的对方是不诚实的我们就无法判断了. 下面我们就可以在 ...

  6. 自定义 RestTemplate 异常处理 (转)

    转自:https://ethendev.github.io/2018/11/06/RestTemplate-error-handler/ 一些 API 的报错信息通过 Response 的 body返 ...

  7. Jackson 高级应用

    转自:https://www.ibm.com/developerworks/cn/java/jackson-advanced-application/index.html 格式处理(含日期格式) 不同 ...

  8. 通过bindservice方式调用服务方法里面的过程

    为什么要引入bindService:目的为了调用服务里面的方法 (1)定义一个服务 服务里面有一个方法需要Activity调用 (2)定义一个中间人对象(IBinder) 继承Binder (3)在o ...

  9. shell脚本之数组基本操作及排序

    数组的基本操作及排序 1.数组定义方法: ( 6 7 9 4 3 2) 0 1 2 3 4 5 #下标号 方法一: 数组名=(value0 value1 value2 -) 方法二: 数组名=([0] ...

  10. Netty核心原理

    Netty核心原理 1. Netty介绍 1.1 原生NIO存在的问题 NIO的类库和API使用繁杂 需要具备其他额外的技能,如java多线程编程等才能编写出高质量的NIO程序 开发工作量和难度都非常 ...