【Linux】进程管理及控制服务

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/daisy_songyr/article/details/96042184

1.查看进程

(1)利用图形方式查看

命令:gnome-system-monitor

输入命令会则会出现进程的图形界面,结果如下:

(2)进程查看命令

命令含义

ps a 	在shell中运行的所有进程,包含环境自身信息
ps -A 	系统中所有的进程,包括环境
ps -a 	在shell中运行的所有进程,不包括shell自身信息
ps -d 	显示系统中所有进程,除了shell信息
ps -u 	显示进程的用户,pid,cpu的使用率等
ps e 	显示进程的扩展性,系统的详细信息,调用的系统资源
ps x 	显示所有有输入设备终端的,tty是能显示出字符设备的
ps f 	显示进程的从属关系(不一定父进程结束,子进程也结束)。孤儿进程受系统初始化控制 (父进程被强行关闭)

ps -A

系统中所有的进程,包括环境

ps -a

在shell中运行的所有进程,不包括shell自身信息

ps a

在shell中运行的所有进程,包含环境自身信息

ps -u

显示进程的用户,pid,cpu的使用率等

ps x

显示所有有输入设备终端的,tty是能显示出字符设备的

ps f

显示进程的从属关系(不一定父进程结束,子进程也结束)

ps e

显示进程的扩展性,系统的详细信息,调用的系统资源

(3)ps常用组合

命令含义

ps aux 	显示当前系统中所有进程并显示进程用户
ps ef 	显示进程详细信息并显示进程父子关系
ps ax 	显示当前系统中的所有进程
pstree 	显示当前系统的进程树

ps aux
显示系统中所有进程并显示进程用户:

ps ef
显示进程详细信息并显示进程父子关系

ps ax
显示当前系统中的所有进程

pstree

显示当前系统的进程树

(4)显示进程指定信息

ps -o comm 	显示进程名称
ps -o group 	显示进程的组
ps -o user 	显示进程的使用者
ps -o %cpu 	显示进程的cpu使用率
ps -o %mem 	显示进程的内存使用率
ps -o pid 	显示进程id
ps -o nice 	显示进程的优先级(优先级的范围是-29~19,越负优先级越高)
ps -o stat 	显示进程运行状态
ps -o tty 	显示进程输出字符设备的

ps -o comm

显示进程名称

ps -o user
显示进程所有人

ps -o group
显示进程所有组

ps -o %cpu
显示进程cou使用率

ps -o pid
显示进程id

ps -o nice
显示进程优先级

ps -o stat
显示进程运行状态

(5)进程排序
进程需要的资源越多,影响就越大,通过排序可以对进程进行进一步了解。

ps ax --sort=+%cpu/-%cpu           对cpu使用率的进程进行由小到大/由大到小的排序
ps ax --sort=+%mem/-%mem           对内存使用率的进程进行由小到大/由大到小的排序

1.对进程中的cpu进行从小到大排序

只显示cup使用率并排序

对进程中的cpu进行从大到小排序

只显示cpu使用率,并从大到小排序

 

2.对进程中的内存进行从小到大排序

只显示内存使用率,并从小到大排序

对进程中的内存进行从大到小排序

只显示内存使用率,并从大到小排序

(6)stat中显示的信息

符号 	   显示的信息
S 	   进程状态
l 	   内存中有锁定空间
N 	   优先级低
< 	   优先级高
+ 	   前台运行
s 	   顶级过程

注意:
<表示进程的优先级小于默认,l表示有一片锁定的空间,不能被回收,S表示进程状态,Ss进程状态是顶级进程,S<l表示高优先级内存有锁定空间,R+表示正在运行

2.进程优先级

<1>进程的优先级范围:-20~19

<2>优先级查看

ps ax -o pid,nice,comm

 

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

格式如下:

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

实验如下:

用watch监视:

 watch  -n 1  ps  a  -o  stat,user,pid,comm,nice    

 

<4>改变进程优先级

格式如下:

 renice  -n  优先级数字  进程pid

 

实验如下:

watch监视:

3.环境中进程的前后台调用

命令 	          含义
jobs 	          查看被打入环境后台的进程
ctrl+z 	          把占用终端的进程打入后台
fg jobsnum 	  把后台进程调回前台
bg jobsnum 	  把后台暂停的进程运行
comm & 	          让命令直接在后台运行

 

4.kill控制进程

信号是一个动作的标识

(1)常用信号等级

等级 含义
1 进程重新加载配置
2 删除进程在内存中的数据
3 删除鼠标在内存中的数据
9 强行结束但个进程(不能被阻塞)
15 正常关闭进程(可能会被阻塞)
18 运行暂停的进程
19 暂停某个进程(不能被i阻塞)
20 把进程打入后台(可以被阻塞)

==(2)kill的用法==

kill       -信号        进程pid     单个执行
killall    -信号        进程名字     批量执行   
pkill     -u    student   -信号    指定执行的用户

实验如下:

==kill -信号 进程 pid==

1.删除进程在内存中的数据

==killall -信号 进程名称==

==pkill -u 用户名称 -信号==

3)

SIGHUP 终止进程
SIGINT 终止进程
SIGQUIT 建立CORE文件
STGILL 建立CORE文件
SIGTARP 建立CORE文件
SIGBUS 建立CORE文件
SIGSEGV 建立CORE文件
SIGFPE 建立CORE文件
SIGIOT 建立CORE文件
SIGKILL 终止进程
SIGPIPE 终止进程
SIGALARM 终止进程
SIGTERM 终止进程

 

5.进程的动态监控top

1 显示cpu每个核的负载
s 调整刷新频率
c CPU负载排序
m 内存使用量排序
h 查看帮助
u 查看指定用户进程
k 对指定进程发起信号
q

退出

具体操作如下:


6.控制服务

系统初始化进程可以对服务进行相应控制

系统初始化进程有两个:

systemd         系统初始化进程
pstree          显示系统中的进程树

进程控制命令

systemctl     status    sshd          查看服务状态,
systemctl     start     sshd          开启服务
systemctl     stop      sshd          关闭服务
systemctl     restart   sshd          重启服务
systemctl     reload    sshd          重新加载服务配置
systemctl     enable    sshd          设定服务开机启动
systemctl     disable   sshd          设定服务开机不启动
systemctl     list-units              列出已经开启服务当前状态
systemctl     list-unit-files         列出所有服务器开机启动的状态
systemctl     list-dependencies       列出服务的依赖
systemctl     set-default multi-user.target 设定系统启动级别为无图形模式
systemctl     set-default graphical.target  设定系统启动级别为图形模式

reload

展开阅读全文

没有更多推荐了,返回首页