Linux常见命令 12 – ps, kill, pkill, w, tty

导读:本篇文章讲解 Linux常见命令 12 – ps, kill, pkill, w, tty,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

1. ps

ps命令用于查看当前系统中进程的运行状态,一般和kill搭配使用,实现对进程的管理

进程命令 含义
ps -ef 

列出linux下进程的所有详细信息。

-e:列出系统所有运行的进程,-f 显示ID, PID, PPID等 

ps -l 使用详细格式显示进程状况
ps aux 列出linux下进程的所有详细信息。跟ps -ef效果一样,只不过显示格式不同,常用 ps aux
ps -u 用户名 指定某个用户的下的进程
ps -eo  自定义选项 自定义进程查看格式
pgrep 通过进程名字去查询某些进程,一般用于查看进程是否存活

示例:

ps : 【PID-进程号】【TTY- 】【TIME-进程所使用的终端号码,如果再开一个终端,就会变成pts/1】【CMD-正在执行的系统命令行】【进程所使用的CPU总时间】。在预设的情况下, ps 仅会列出与目前所在的 bash shell 有关的 PID。所以使用 ps -l 的时候,只有2个 PID。

root@LUCAS-DEV-23557e:/mnt/share_disk/wmq/test# ps
    PID TTY          TIME CMD
 294965 pts/0    00:00:00 bash
 294980 pts/0    00:00:00 ps

root@LUCAS-DEV-23557e:~# ps -l
F S   UID     PID    PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
4 S     0  295276  295265  0  80   0 -  4662 wait   pts/3    00:00:00 bash
0 R     0  295332  295276  0  80   0 -  5494 -      pts/3    00:00:00 ps

ps -ef:列出linux下进程的所有详细信息

root@LUCAS-DEV-23557e:/mnt/share_disk/wmq/test# ps -ef
UID          PID    PPID  C STIME TTY          TIME CMD
root           1       0  0 May18 ?        00:00:00 bash -c chmod +x /cpfs/init/deve
root           7       1  0 May18 ?        00:00:25 /bin/bash /cpfs/init/developer_i
root         545       1  0 May18 ?        00:00:00 /usr/sbin/sshd
root       20950       1  0 May31 ?        00:00:04 tmux new -s wmq
root       20951   20950  0 May31 pts/1    00:00:00 -bash

ps aux:同 ps -ef

root@LUCAS-DEV-23557e:~# ps aux
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root           1  0.0  0.0  20132  2776 ?        Ss   May18   0:00 bash -c chmod +x
root           7  0.0  0.0  20132  2996 ?        S    May18   0:25 /bin/bash /cpfs/i
root         545  0.0  0.0  68236  2872 ?        Ss   May18   0:00 /usr/sbin/sshd
root       20950  0.0  0.0  28808  4740 ?        Ss   May31   0:04 tmux new -s wmq

ps  -u root:查看root用户目录下的进程

root@LUCAS-DEV-23557e:~# ps -u root
    PID TTY          TIME CMD
      1 ?        00:00:00 bash
      7 ?        00:00:25 developer_init.
    545 ?        00:00:00 sshd
  20950 ?        00:00:04 tmux: server

ps -eo pid, stat:自定义查看进程的pid号和stat状态。其中stat是指该进程运行的状态,linux进程有5中基本状态:

        R:正在运行或在运行队列中等待

        S:该进程目前正在睡眠中,但可能会被某些讯号唤醒

        T:该程序目前暂停,比如ctrl + z。处于后台挂起暂停状态

root@LUCAS-DEV-23557e:~# ps -eo pid,stat
    PID STAT
      1 Ss
      7 S
    545 Ss
  20950 Ss

pgrep 名字:查询ssh命令对应的进程号

root@LUCAS-DEV-23557e:~# pgrep ssh
545
291406
291682
292826
295265
295291

2. kill

名称 含义
kill pid 终止进程
kill -9 pid 立即停止进程,可以杀死所有进程,如僵尸进程等
kill -0 pid 

一般配合 eocho $?来使用

kill -0 pid 是来判断进程id是否存在。然后执行echo $?来取出kill -0 pid 的执行结果,为0表示命令正确,不为0都是错误状态码

killall 可以通过名字杀死所有进程
pkill 可以通过名字杀死所有进程。与killall用法一样,但是killall可能一次性杀不死所有进程,因为可能会包含子进程,但是pkill可以一次性杀死所有父子进程

示例:

pkill 杀死所有名字中有ping的进程

root@LUCAS-DEV-23557e:~# ps aux|grep ping
root      295552  0.0  0.0  10928  2060 pts/3    S+   15:44   0:00 ping baidu.com
root      295553  0.0  0.0  10928  2068 pts/0    S+   15:44   0:00 ping jd.com
root      295593  0.0  0.0  11472  1060 pts/5    S+   15:45   0:00 grep --color=auto ping
root@LUCAS-DEV-23557e:~# pkill ping

Linux常见命令 12 - ps, kill, pkill, w, tty

Linux常见命令 12 - ps, kill, pkill, w, tty

3. tty, w 和 pkill 

命令 含义
tty 用于显示终端机连接标准输入设备的文件名称
w 显示当前登录用户及这些用户正在做什么
pkill 可以通过名字杀死所有进程。与killall用法一样,但是killall可能一次性杀不死所有进程,因为可能会包含子进程,但是pkill可以一次性杀死所有父子进程

 示例:

tty 命令:

root@LUCAS-DEV-23557e:~# tty
/dev/pts/0

w 命令:可以主要关注与当前的终端窗口连接的设备文件有哪些 – pts/0, pts/1, pts/2…

root@LUCAS-DEV-23557e:~# w
 16:05:37 up 43 days,  3:27,  5 users,  load average: 138.40, 94.87, 64.35
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    10.200.254.221   15:35    0.00s  0.01s  0.00s w
root     pts/1    tmux(20950).%0   31May22  2days  9:08m  0.18s -bash
root     pts/2    tmux(20950).%1   14Jun22  8days  0.01s  0.01s -bash
root     pts/5    10.200.1.140     15:45   17:52   0.00s  0.00s -bash
root     pts/3    10.200.254.221   14:28   17:19   0.02s  0.02s -bash

 pkill 命令:杀死终端中所有命令 – pkill -9 -t pts/0

root@LUCAS-DEV-23557e:~# pkill -9 -t pts/3

Linux常见命令 12 - ps, kill, pkill, w, tty

 4. top

 top命令可以动态查看进程变化,监控linux的系统状况。Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,是动态的ps aux。等同于windows的任务管理器。

Linux常见命令 12 - ps, kill, pkill, w, tty

第1行:任务队列信息 ,有【系统运行时间 – 当前登录用户数 – 系统负载,即任务队列的平均长度】

第2,3行:进程和CPU的信息。当有多个CPU时,可能会超过两行

第4,5行:内存信息,有【使用的物理内存总量 – 空闲内存总量 – 用作内核缓存的内存量】

参数 含义
q quit:表示退出top
top -c 显示进程命令的绝对路径
top -d 描述 设置top刷新时间
top  -n 次数 设置top刷新次数
top -p pid 指定查看某一个进程信息

示例:

top -c

Linux常见命令 12 - ps, kill, pkill, w, tty

 top -p 300281

Linux常见命令 12 - ps, kill, pkill, w, tty

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之家整理,本文链接:https://www.bmabk.com/index.php/post/87455.html

(0)
小半的头像小半

相关推荐

极客之家——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!