Linux 学习笔记 06 —— 进程管理(1) 查看、杀死

%MEM 进程的内存占用率

VSZ 进程所使用的虚存的大小(Virtual Size)

RSS 进程使用的驻留集大小或者是实际内存的大小,Kbytes字节。

TTY 与进程关联的终端(tty)

STAT 进程的状态:进程状态使用字符表示的(STAT的状态码)

START 进程启动时间和日期

TIME 进程使用的总cpu时间

COMMAND 正在执行的命令行命令

NI 优先级(Nice)

PRI 进程优先级编号(Priority)

WCHAN 进程正在睡眠的内核函数名称;该函数的名称是从/root/system.map文件中获得的。

FLAGS 与进程相关的数字标识

  1. 列出所有进程

方式一:

songyangji@SongyangJi-Ubuntu-DeskStop:~$ ps -aux

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

root 1 0.0 0.2 101680 10384 ? Ss 19:09 0:01 /sbin/init splash

root 2 0.0 0.0 0 0 ? S 19:09 0:00 [kthreadd]

root 3 0.0 0.0 0 0 ? I< 19:09 0:00 [rcu_gp]

root 4 0.0 0.0 0 0 ? I< 19:09 0:00 [rcu_par_gp]

方式二:

songyangji@SongyangJi-Ubuntu-DeskStop:~$ ps -ef

UID PID PPID C STIME TTY TIME CMD

root 1 0 0 3月11 ? 00:00:01 /sbin/init splash

root 2 0 0 3月11 ? 00:00:00 [kthreadd]

root 3 2 0 3月11 ? 00:00:00 [rcu_gp]

root 4 2 0 3月11 ? 00:00:00 [rcu_par_gp]

  1. 显示某个用户的进程

[root@itcast ~]# ps -u root

PID TTY TIME CMD

1 ? 00:01:48 systemd

2 ? 00:00:00 kthreadd

3 ? 00:00:21 ksoftirqd/0

5 ? 00:00:00 kworker/0:0H

  1. 显示进程名进程信息

[root@itcast ~]# ps -C bash

PID TTY TIME CMD

10565 pts/1 00:00:00 bash

11145 pts/1 00:00:00 bash

86546 pts/0 00:00:00 bash

[root@itcast ~]#

  1. 通过进程号显示进程详细信息

songyangji@SongyangJi-Ubuntu-DeskStop:~$ ps -p 51172

PID TTY TIME CMD

51172 pts/0 00:00:00 bash

  1. 指定显示字段

[root@itcast ~]# ps -e -o pid,uname,pcpu,pmem,comm

PID USER %CPU %MEM COMMAND

1 root 0.0 0.1 systemd

2 root 0.0 0.0 kthreadd

3 root 0.0 0.0 ksoftirqd/0

5 root 0.0 0.0 kworker/0:0H

7 root 0.0 0.0 migration/0

  1. 查找特定进程信息 ( 管道| + grep)

[root@itcast ~]# ps -ef | grep ssh

root 1183 1 0 8月08 ? 00:00:00 /usr/sbin/sshd -D

deng 2286 2111 0 8月08 ? 00:00:01 /usr/bin/ssh-agent /bin/sh -c exec -l /bin/bash -c “env GNOME_SHELL_SESSION_MODE=classic gnome-session --session gnome-classic”

root 10561 1183 0 21:24 ? 00:00:00 sshd: deng [priv]

deng 10563 10561 0 21:24 ? 00:00:00 sshd: deng@pts/1

root 16403 11145 0 22:18 pts/1 00:00:00 grep --color=auto ssh

[root@itcast ~]#

pstree


这个命令和ps差不多,只不过是以树状图的形式显示出来。

Linux系统中pstree命令的英文全称是“process tree”,即将所有行程以树状图显示,树状图将会以 pid (如果有指定) 或是以 init 这个基本行程为根 (root)。

如果有指定使用者 id,则树状图会只显示该使用者所拥有的行程。

  • 使用

pstree 参数

-a  显示每个程序的完整指令,包含路径,参数或是常驻服务的标示。

-c  不使用精简标示法。

-G  使用VT100终端机的列绘图字符。

-h  列出树状图时,特别标明执行的程序。

-H<程序识别码>  此参数的效果和指定"-h"参数类似,但特别标明指定的程序。

-l  采用长列格式显示树状图。

-n  用程序识别码排序。预设是以程序名称来排序。

-p  显示程序识别码。

-u  显示用户名称。

-U  使用UTF-8列绘图字符。

-V  显示版本信息。

  1. 以树状图显示进程

songyangji@SongyangJi-Ubuntu-DeskStop:~$ pstree

systemd─┬─ModemManager───2*[{ModemManager}]

├─NetworkManager───2*[{NetworkManager}]

├─accounts-daemon───2*[{accounts-daemon}]

├─avahi-daemon───avahi-daemon

├─colord───2*[{colord}]

├─cron

├─cups-browsed───2*[{cups-browsed}]

├─cupsd

├─dbus-daemon

├─gdm3─┬─gdm-session-wor─┬─gdm-x-session─┬─Xorg───9*[{Xorg}]

│ │ │ ├─gnome-session-b─┬─ssh-agent

│ │ │ │ └─2*[{gnome-session-b}]

│ │ │ └─2*[{gdm-x-session}]

│ │ └─2*[{gdm-session-wor}]

│ └─2*[{gdm3}]

  1. 显示当前所有进程的进程号和进程id

[root@itcast ~]# pstree -p

systemd(1)─┬─ModemManager(676)─┬─{ModemManager}(716)

│ └─{ModemManager}(719)

├─NetworkManager(680)─┬─dhclient(9982)

│ ├─{NetworkManager}(745)

│ └─{NetworkManager}(749)

├─VGAuthService(681)

├─abrt-watch-log(671)

├─abrt-watch-log(672)

├─abrtd(632)

  1. 显示指定进程号树状信息

[root@itcast ~]# pstree 10565

bash───su───bash───pstree

[root@itcast ~]#

kill


kill命令用来删除执行中的程序或工作。

  • 列出所有信号名称

[deng@itcast ~]$ kill -l

  1. SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP

  2. SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1

  3. SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM

  4. SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP

  5. SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ

  6. SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR

  7. SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3

  8. SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8

  9. SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13

  10. SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12

  11. SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7

  12. SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2

  13. SIGRTMAX-1 64) SIGRTMAX

[deng@itcast ~]$

只有第9种信号(SIGKILL)才可以无条件终止进程,其他信号进程都有权利忽略。

下面是最常用的信号。

HUP 1 终端断线

INT 2 中断(同 Ctrl + C)

QUIT 3 退出(同 Ctrl + \)

TERM 15 终止

KILL 9 强制终止

CONT 18 继续(与STOP相反, fg/bg命令)

STOP 19 暂停(同 Ctrl + Z)

最常用的就是 -9 信号

最后的话

最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!

资料预览

给大家整理的视频资料:

给大家整理的电子书资料:

如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!

资料预览

给大家整理的视频资料:

[外链图片转存中…(img-2XoYjQIo-1714135345992)]

给大家整理的电子书资料:

[外链图片转存中…(img-OtCoeTj9-1714135345992)]

如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 25
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值