6.1 linux内核管理 :内核进程

6.1 linux内核管理 :内核进程

基础选项

Basic options:
-A, -e                                                         all processes                         //所有的进程
-a                                                             all with tty, except session leaders  //所有终端,不包含session进程
 a                                                             all with tty, including other users   //所有终端,包含其他用户
-d                                                             all except session leaders            //【就是ps -A 去掉所有session进程】
-N, --deselect                                                 negate selection 
 r                                                             only running processes                //正在运行的进程 ps r -A
 T                                                             all processes on this terminal        //这个终端的所有进程 ps T
 x                                                             processes without controlling ttys    //【就是ps -A 去掉所有tty为tty的进程】

ps -A //所有的进程

$ ps -A 
PID[进程ID]   TTY[终端位置]      TIME[使用CPU的时间]            CMD[下达的指令名称]
1                ?             00:00:02                     systemd
2                ?             00:00:00                     kthreadd
3                ?             00:00:00                     ksoftirqd/0
5                ?             00:00:00                     kworker/0:0H
7                ?             00:00:02                     rcu_sched
8                ?             00:00:00                     rcu_bh
10526           pts/1          00:00:00                     ps[这个命令的进程]
14205           pts/19         00:00:00                     bash[session进程]

查看当前终端机

$ tty
/dev/pts/1

ps -a //所有终端,不包含session进程

ps -a 
PID[进程ID]   TTY[终端位置]      TIME[使用CPU的时间]            CMD[下达的指令名称]
14364        pts/19            00:00:01                      Navicat.exe
15923        pts/1             00:00:00                      ps

Ps显示完整的命令

ps -ef
$ ps a //所有终端,包含其他用户
PID[进程ID] TTY[终端位置]        STAT[进程状态]     TIME[使用CPU的时间]     COMMAND[下达的指令名称]
1029       tty1                 Ss+              0:00                  /sbin/agetty --noclear tty1 linux
1031       tty7                 Ssl+             1:11                  /usr/lib/xorg/Xorg -core :0 -seat seat0 -auth /var/ru
8114       pts/1                Ss               0:00                  bash
12720      pts/1                R+               0:00                  ps a
14364      pts/19               S+               0:00                  /media/psf/Home/Downloads/navicat121_mysql_cs_x86/Navicat/Navicat.exe

STAT状态含义

S      Sleep 睡眠。通常是在等待某个事件的发生,如一个信号或有输入可用
R      Running 运行。 严格来说,应是“可运行”,即在运行队列中,处于正在执行或即将运行状态
D      不可中断的睡眠(等待)。通常是在等待输入或输出完成
T     Terminate(terminate)停止。通常是被shell作业控制所停止,或者进程正处于调试器的控制之下
Z     Zomnie(zombie)僵尸进程,通常是该进程已经死亡,但父进程没有调用wait类函数来释放该进程的资源
N     Nice(nice)低优先级任务
s      进程是会话期首进程
+     进程属于前台进程组
l       进程是多线程的
<     高优先级任务

选择选项

Selection by list:
-C <command>                                                  command name                          //命令名字
-G, --Group <GID>                                             real group id or name                 //组的id或者名字
-g, --group <group>                                           session or effective group name       //会话或者有效的组名
-p, p, --pid <PID>                                            process id                            //进程ID
--ppid <PID>  parent                                          process id                            //父级的进程ID
-q, q, --quick-pid <PID>
              process id (quick mode)
                      -s, --sid <session>  session id
-t, t, --tty <tty>                                             terminal                             //终端
-u, U, --user <UID>                                            effective user id or name            //有效的id或名字
-U, --User <UID>                                               real user id or name                 //真实的id或名字

ps a

ps a
 PID  TTY      STAT   TIME COMMAND
 1029  tty1     Ss+    0:00 /sbin/agetty --noclear tty1 linux
 1031  tty7     Ssl+   4:49 /usr/lib/xorg/Xorg -core :0 -seat seat0 -auth /var/ru
 8114  pts/1    Ss+    0:00 bash
 9573  pts/20   Ss     0:00 bash
11389 pts/20   R+     0:00 ps a
12962 pts/4    Ss+    0:00 bash
14205 pts/19   Ss+    0:00 bash

ps -C //根据命令行查询

$ ps -C bash
PID   TTY          TIME     CMD
 8114  pts/1        00:00:00 bash
 9573  pts/20       00:00:00 bash
12962 pts/4        00:00:00 bash
14205 pts/19       00:00:00 bash

ps -p //根据进程id查询

$ ps -p 1029
PID  TTY      TIME     CMD
 1029 tty1     00:00:00 agetty

ps -t //根据tty查询

$ ps -t pts/20
PID   TTY          TIME     CMD
 9573  pts/20       00:00:00 bash
12861 pts/20       00:00:00 ps   

ps -u //根据用户来查询

$ ps -afu sgx
UID        PID  PPID  C STIME TTY          TIME CMD
sgx       1604     1  0 19:38 ?        00:00:00 /lib/systemd/systemd --user
sgx       1606  1604  0 19:38 ?        00:00:00 (sd-pam)

输出格式

Output formats:
-F                                                            extra full                             //额外的全部
-f                                                            full-format, including command lines   //全部格式,包括命令行
f, --forest                                                   ascii art process tree                 //ascii 艺术进程树
-H                                                            show process hierarchy                 //分层显示进
-j                                                            jobs format                            //任务格式
j                                                             BSD job control format
-l                                                            long format                            //长格式
l                                                             BSD long format

ps -F

$ ps -F
UID       PID    PPID  C[cpu百分比]    SZ    RSS[进程占用固定的内存量kb]  PSR STIME   TTY          TIME     CMD
sgx       9573   8106  0              2161  4744                      1   Sep12   pts/20       00:00:00 bash
sgx       23506  9573  0              2374  3452                      1   00:02   pts/20       00:00:00 ps -F

ps -l

$ ps -l
F[程序的旗标] S[STAT]   UID   PID  PPID   C  PRI[优先权,越小越先执行]  NI[nice,越大越易] ADDR[内核数,一般是-] SZ[使用内存的大小] WCHAN[进程是否在运行]  TTY          TIME CMD
0           S         1000  9573  8106  0  80                      0                 -                  2161             wait                 pts/20   00:00:00 bash
0           R         1000 24725  9573  0  80                      0                 -                  2305             - [表示正在运行]       pts/20   00:00:00 ps

USER 进程的属主;
PID 进程的ID;
PPID 父进程;
%CPU 进程占用的CPU百分比;
%MEM 占用内存的百分比;
NI 进程的NICE值,数值大,表示较少占用CPU时间;
VSZ 进程使用的虚拟內存量(KB);
RSS 该进程占用的固定內存量(KB)(驻留中页的数量);
TTY 该进程在那個終端上運行(登陸者的終端位置),若與終端無關,則顯示(?)。

若为pts/0等,则表示由网络连接主机进程
WCHAN 当前进程是否正在進行,若为-表示正在進行;
START 該進程被觸發启动时间;
TIME 該进程實際使用CPU運行的时间;
COMMAND 命令的名称和参数;
STAT狀態位常見的狀態字符
D 无法中断的休眠状态(通常 IO 的进程);
R 正在运行可中在队列中可过行的;
S 处于休眠状态;
T 停止或被追踪;
W 进入内存交换 (从内核2.6开始无效);
X 死掉的进程 (基本很少見);
Z 僵尸进程;
< 优先级高的进程
N 优先级较低的进程
L 有些页被锁进内存;
s 进程的领导者(在它之下有子进程);
l 多进程的(使用 CLONE_THREAD, 类似 NPTL pthreads);
+ 位于后台的进程组;


ps aux

$ ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.1  51804  3536 ?        Ss   Apr10   0:28 /usr/lib/systemd/systemd --system --deserialize 24
root         2  0.0  0.0      0     0 ?        S    Apr10   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        S    Apr10   0:07 [ksoftirqd/0]
root         5  0.0  0.0      0     0 ?        S<   Apr10   0:00 [kworker/0:0H]
root         7  0.0  0.0      0     0 ?        S    Apr10   0:00 [migration/0]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值