linux进程管理工具


在/proc/PID/cmdline 可以看到是用什么命令来启动

管理工具

Pstree、ps、pidof、pgrep、top、htop、glance、pmap、vmstatdstat、kill、pkill、job、bg、fg、nohup

pstree

显示进程树

ps

进程状态查看工具

常用组合
1.aux
u:以用户为中心组织进程状态信息显示
a:与终端相关的进程
X:与终端无关的进程,[]的是内核的线程

]# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

USER:进程的宿主
PID:进程的id号
%CPU:进程占据的cpu时间的百分比
%MEM:进程占据的总体内存空间的百分比
VSZ:虚拟内存大小
RSS:resident size,常驻内存集
TTY:通过哪个终端启动的,?表示与终端无关
STAT:进程状态
R:running
S:interruptable sleeping,可中断睡眠
D:uniterruptable sleeping不可中断睡眠
T:stopped,停止态
Z:zombie,僵死态
+:前台进程
l:多线程进程
n:低优先级进程
<:高优先级进程
s:session leader,回话的领导者
START:启动时间
TIME:运行占据cpu的累积时长
COMMAND:由哪个命令运行起来的相关进程

2.-e
-e:显示所有进程
-f:显示完整格式程序信息

3.-eFH
以进程层级格式显示进程相关信息
H:以层级结构显示,包含父子进程
F:显示完整格式的进程信息

4.-eo,axo
指明要显示的字段
Ni:nice值
pri:优先值
psr:使用哪个cpu
rtptrio:实时优先级

pgrep,pkill

pgrep
-U uid,有效用户
-u uid,实际用户
-t :与指定终端相关的进程
-l:显示进程名
-a:显示完整格式的进程名
-P:pid,显示其父进程为此处指定的进程进程列表

pidof

根据进程名获取其pid

top

有许多内置命令:
排序:
P:以占据的cpu百分比
M:占据内存百分比
T:累积占据cpu时长

首部信息显示:
打l显示uptime信息
打1可以显示具体的每颗cpu的情况
还可以打t显示cpu那栏信息不同格式
打m显示内存那栏信息的不同格式
打s刷新时间间隔
打p可以直接杀死进程

Load average:平均负载,cpu队列中等待运行的任务的个数,有三个数是过去1分钟,5分钟和15分钟
Task:进程数
Cpu
Us:用户空间程序占据的百分比
Sy:内核空间程序占据的百分比
Ni:nice值
Id:空闲比例
Wa:等待io完成的时间(重要)
Hi:硬中断所需要的时间的百分比
Si:软中断,用来进行模式切换占据时间的百分比
St:偷走的时间的比例,通常有虚拟化技术的时候会占据

选项:
-d #:指定刷新时间间隔,默认3秒
-b:以批次方式
-n #:显示多少批次

htop

s:跟踪选定进程的系统调用
l:显示选定进程打开的文件列表
[:将选定的进程绑定至某指定cpu核心

Vmstat

虚拟内存状态
Procs
r:等待运行的进程的队列的个数
b:处于不可中断睡眠态的进程个数(被阻塞队列的长度)
memory
swad:交换内存的使用总量
free:空闲物理内存总量
buff:用于buffer的内存总量
cache:用于cache的内存总量
swap
si:数据从物理内存进入到交换内存的速率,单位是kb/s
so:数据离开swap的速率
io
bi:从块设备读入数据到系统的速率,单位是kb/s
bo:保存数据至块设备的速率
system
in:interrupts,中断速率
cs:context switch,进程切换速率
cpu

选择:
-s:显示内存的统计数据

pmap

报告进程的内存映射的关系
Pmap PID

-x:显示详细格式的信息

另外一种实现:cat /proc/PID/maps

Glances

常用选项:
-b:以Byte为单位显示网卡数据速率
-d:关闭磁盘I/O模块
-f /patch/to/somefile:设定输入文件位置及其格式
-o{HTML|CSV}:输出格式
-m:禁用mount模块
-n:禁用网络模块
-t #:延迟时间间隔
-1:每个cpu的相关数据单独显示

Dstat

-c:显示cpu相关信息
-C # ,#,total
-d:显示disk相关信息
-D total,sda,sdb,…
-g:显示page相关统计数据
-n:显示网络相关统计数据
-m:显示memory相关统计数据
-p:显示process相关统计数据
-r:显示io请求相关的统计数据
-s:显示swapped相关的统计数据
–top-cpu:显示最占用cpu的进程
–top-io:显示最占用io的进程
–top-mem:显示最占用内存的进程
–top-lantency:显示延迟最大的进程

kill

向进程发送控制信号,以实现进程管理

显示当前系统可用信号:
#kill -l
#man 7 signal

常用信号:
1.sighup:无须关闭进程而让其重读配置文件
2.Sigint:中止正在运行的进程;相当于ctrl+c
9.sigkill:杀死正在运行的进程
15.sigterm:终止正在运行的进程
18.sigcont:
19.sigstop:

指定信号的方法:
(1)信号的数字标识:1,2,9,……
(2)信号完整名称
(3)信号的简写名称

向进程发信号:
Kill [-SIGNAL] PID

终止“名称”之下的所有进程:
Killall [-SIGNAL] program

Linux作业控制
前台作业:通过终端启动,且启动后一直占据终端
把后台作业搬回前台,使用fg就可以
后台作业:可以通过终端启动,但启动后即转入后台运行(释放终端)

如何让作业运行于后台?
(1)运行中的作业
Ctrl+z
(2)尚未启动的作业
shell>command &
此类作业虽然被送往后台运行,但其依然与终端相关;如果希望送往后台后,玻璃终端的关系
shell>nohub COMMAND &
查看所有作业:
Jobs
作业控制:
shell>fg [[%]JOB_NUM]:把指定的后台作业调回前台
shell>bg [[%]JOB_NUM]:让送往后台的作业在后台继续运行
shell>kill[%JOB_NUM]:终止指定的作业

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一、实验目的 1.掌握在Linux系统下利用命令方式实现用户和组的管理; 2.掌握利用Linux-conf进行用户和组的管理; 3.理解文件权限 4.进行系统进程管理。 二、实验内容 1. 用户的管理  创建一个新用户user01,设置其主目录为/home/user01:#adduser –d /home/user01 -m user01  查看/etc/passwd文件的最后一行,看看是如何记录的。  查看文件/etc/shadow文件的最后一行,看看是如何记录的。  给用户user01设置密码:#passwd user01。  再次查看文件/etc/shadow文件的最后一行,看看有什么变化。  使用user01用户登录系统,看能否登录成功。。  锁定用户user01:#passwd -l user01。  查看文件/etc/shadow文件的最后一行,看看有什么变化。  再次使用user01用户登录系统,看能否登录成功。  解除对用户user01的锁定:#passwd -u user01  更改用户user01的帐户名为user02:#usermod –l user02 user01。  查看/etc/passwd文件的最后一行,看看有什么变化。  删除用户user02。userdel. 2. 组的管理  创建一个新组,stuff:#groupadd stuff。  查看/etc/group文件的最后一行,看看是如何设置的。  创建一个新帐户user02,并把他的起始组和附属组都设为stuff:#adduser –g stuff –G stuff user02。  查看/etc/group文件中的最后一行,看看有什么变化。  给组stuff设置组密码:#gpasswd stuff。  在组stuff中删除用户user02:#gpasswd –d user02 stuff。  再次查看/etc/group文件中的最后一行,看看有什么变化。  删除组stuff。groupdel 3. 用Linux-conf创建用户和组  进入X-Window图形界面。  打开控制面板,启动用户和组群管理子程序,在打开的界面中练习用户、组的设置。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值