Linux的进程管理

一、进程定义

进程(process)是执行中的程序,也可以理解为cpu未完成的工作

二、显示进程(ps命令)

用户可以使用ps命令来查看自己在shell中执行的进程

Linux的进程管理

显示内容的各字段如下:

PID:进程编号,每个进程都有自己的编号且不会重复,可用PID来指定进程。

TTY: 进程执行时的终端

TIME:进程已经执行的时间

CMD:进程的名称

ps命令可以显示更多的信息,root用户可以监听系统所有的进程,显示进程的完整信息。

ps

  •      a    ##关于当前环境的所有进程
  •     x| -A    ##所有进程
  •      f    ##显示进程从属关系
  •     e    ##显示进程调用环境工具的详细信息
  •      l    ##长列表显示进程的详细信息
  •     u    ##显示进程的用户信息
  •     -a    ##显示shell前台运行命令的进程,但不保函shell本身

Linux的进程管理Linux的进程管理

ps aux    显示系统中的所有进程,并显示其完整信息。 部分内容如下

Linux的进程管理

各字段说明如下:

USER:执行的用户

PID:进程编号

%CPU:CPU时间与实际时间的比率

%MEM:内存使用率

RSS:占用内存大小

TTY:进程执行的终端  ? 表示不占用终端

STAT:进程的状态

START:开始执行的时间

TIME:执行进程经过的时间

COMMAND:命令名称

STAT中显示的信息

S    ##进程状态

l    ##内存中有锁定空间

N    ##优先级低

<    ##优先级高

+    ##前台运行

s    ##*进程

ps ax -o %cpu,%mem,user,group,comm,nice,pid,stat    ##指定显示进程的某些信息

%cpu    ##显示进程cpu负载

%mem    ##显示进程内存负载

user    ##进程用户

group    ##进程组

comm    ##进程名称

nice    ##进程优先级

pid    ##进程的id

stat    ##进程状

Linux的进程管理

ps ax -o %cpu,comm --sort= <+|-%cpu > <+|-%mem>    ##按照进程信息排序
+    ##正序
-    ##倒序
%cpu    ##cpu负载排序

%mem    ##内存负载

Linux的进程管理

按照cpu的负载倒序排序显示进程id的2-6行Linux的进程管理

三、进程的优先级

1.进程的优先级范围

-20~19

增加数字(大于零)为降低优先权

减小数字(小于零)为提高优先权

2.优先级查看
ps ax -o pid,nice,comm
Linux的进程管理
3.指定某个优先级开启进程
nice -n 优先级数字    进程名称
nice -n -5 vim &    ##开启vim并且指定程序优先级为-5
Linux的进程管理
4.改变进程优先级
reince -n 优先级数字    进程pid

renice -n -5 1806    ##改变1806进程的优先级为-5

Linux的进程管理

四、环境中进程的前后台调用

comm &            ##让命令直接在后台运行

jobs            ##查看被打入环境后台的进程

ctrl+z            ##把占用终端的进程打入后台

fg jobsnum        ##把后台进程调回前台

bg jobsnum        ##把后台暂停的进程运行
Linux的进程管理

五、信号的使用

常用信号等级

1        ##进程重新加载配置

2        ##删除进程在内存中的数据

3        ##删除鼠标在内存中的数据

9        ##强行结束单个进程(不能被阻塞)

15       ##正常关闭进程     (可能会被阻塞)   

18       ##运行暂停的进程

19       ##暂停某个进程     (不能被阻塞)

20       ##把进程打入后台    (可以被阻塞)

kill -信号 进程pid  ##对单个进程操作员

Linux的进程管理

killall -信号    进程名字 ##对进程进行批量操作

Linux的进程管理

pkill    -u student -信号    ##对某个用户下的进程进行操作

六、用户登录审计

1
w        ##查看使用系统的当前用户有那些

w -f        ##-f查看使用地点

Linux的进程管理


2

last        ##查看用户登陆成功历史

Linux的进程管理

3.
lastb        ##查看用户登陆未成功历史

Linux的进程管理

七、top命令

top:动态监控进程,查看进程信息

Linux的进程管理

s    : 修改进程刷新间隔时间

m    : 根据内存占有率进行排序

c    : 根据 cpu 占有率进行排序

u    : 后面输入用户名 , 用来查看该用户发起的所有进程

k    : 后面跟要作用的进程 pid, 和发起的信号 (eg:9,15,20) 用来给某个进程发起一信号

q    : 退出进程查看界面

h    : 显示 top 命令的帮助

八、系统初始化程序

1.systemd

系统初始化程序,系统开始的第一个进程,pid为1

Linux的进程管理

2.systemctl 命令

systemctl list-units            ##列出当前系统服务的状态

systemctl list-unit-files        ##列出服务的开机状态

systemctl status sshd            ##查看指定服务的状态

systemctl stop sshd             ##关闭指定服务

systemctl start sshd             ##开启指定服务

systemctl restart sshd            ##从新启动服务

systemctl enable sshd            ##设定指定服务开机开启

systemctl disable sshd            ##设定指定服务开机关闭

systemctl reload sshd            ##使指定服务从新加载配置

systemctl list-dependencies sshd    ##查看指定服务的倚赖关系

systemctl mask    sshd            ##冻结指定服务

systemctl unmask sshd            ##启用服务

systemctl set-default multi-user.target    ##开机不开启图形

systemctl set-default graphical.target    ##开机启动图形

setterm                    ##文本界面设定color

3.服务状态

systemctl     status        服务名称

Linux的进程管理

各个状态所对应的信息:
loaded                ##系统服务已经初始化完成,加载过配置

active(running)        ##正有一个或多个程序正在系统中执行

atcive(exited)        ##执行一次就正常结束的服务

atcive(waiting)        ##正在执行当中,不过还要等待其他事件执行完毕

inactive            ##服务关闭

enbaled                ##服务开机启动

disabled            ##服务开机不自启

static                ##服务开机启动项不可被管理

failed                ##系统配置错误