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

本文介绍了Linux系统中常用的进程管理命令,如`ps`用于查看进程状态,`kill`用于终止进程,`pkill`按名称匹配并杀死进程。此外,还讲解了`tty`, `w`和`top`命令,`top`命令用于实时监控系统性能。通过这些命令,用户可以有效地管理和控制Linux系统的进程。" 99544582,8181201,Android源码全编译与单编详解,"['Android开发', '源码编译', 'Android系统', 'adb工具', '手机刷机']

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

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

 4. top

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

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

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

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

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

示例:

top -c

 top -p 300281

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值