Linux基础——进程管理之ps命令、环境的前后台调用、进程信息、用户登录审计、top命令、系统命令

####一、进程定义####

进程就是cpu未完成的工作

####二、ps命令####

ps

a        ##关于当前环境的所有进程

x| -A   ##所有进程,x会显示进程状态,-A不会

f         ##显示进程从属关系

e        ##显示进程调用环境工具的详细信息

l         ##长列表显示进程的详细信息

u        ##显示进程的用户信息

-a       ##显示shell前台运行命令的进程,但不包含shell本身

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

%cpu      ##显示进程cpu负载

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

user        ##进程用户

group     ##进程组

comm     ##进程名称

nice        ##进程优先级

pid         ##进程的id

stat        ##进程状态


####stat中显示的信息

S      ##进程状态

l       ##内存中有锁定空间

N     ##优先级低

<     ##优先级高

+     ##前台运行

s      ##顶级进程


例:

当前进程的信息:


三、进程排序

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

+                  ##正序

-                   ##倒序

%cpu            ##cpu负载排序

%mem          ##内存负载

例:

进程按cpu的倒序排列:

四、

####进程优先级####

1.进程的优先级范围

-20~19

2.优先级查看

ps ax -o pid,nice,comm

3.指定某个优先级开启进程

nice -n 优先级数字 进程名称

nice -n -5 vim & ##开启vim并且指定程序优先级为-5

4.改变进程优先级

reince -n 优先级数字 进程pid

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

例:

改变3287进程的优先级为5;开启vim并且指定程序优先级为-5:


五、

####环境中进程的前后台调用####

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

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

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

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

例:

把gedit调回前台,此时可以编辑:


把gedit打入后台,此时无法编辑:


让暂停的gedit继续运行,此时可以继续编辑:


六、

####进程信号####

1.常用信号等级

1                            ##进程重新加载配置

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

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

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

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

18                          ##运行暂停的进程

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

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

man 7 signal          ##查看信号详细信息

kill -信号 进程pid

killall -信号 进程名字

pkill -u student -信号

例:

强制杀死一个vim进程:

强制杀死所有vim进程:


七、

####用户登陆审记####

1

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

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

2

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

3.

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

八、

####top命令####

top ##监控系统负载工具

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

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

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

1 : 分开查看各个cpu信息

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

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

给某个进程发起一信号

q : 退出进程查看界面

h : 显示 top 命令的帮助

例:


九、

####系统初始化程序####

1.systemd

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

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

vga=ask

3.服务状态

systemctl status 服务名称

loaded                            ##系统服务已经初始化完成,加载过配置

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

# vsftpd 就是這種模式

atcive(exited)              ##僅執行一次就正常結束的服務,

atcive(waiting)            ##正在執行當中,

# 不過還再等待其他的事件才能繼續處理

inactive                           ##服务关闭

enbaled                          ##服务开机启动

disabled                          ##服务开机不自启

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

failed                               ##系统配置错误

例:

查看系统sshd的状态:






猜你喜欢

转载自blog.csdn.net/weixin_41927237/article/details/79917931