linux基础学习
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux基础学习相关的知识,希望对你有一定的参考价值。
系统进程
一.什么是进程
进程 : 一个正在运行中的程序
程序被触发后,执行者的权限与属性,程序的程序码与所需数据等都会被载入内存中,操作系统会给予这个内存内的单元一个识别码 (PID)。
二.查看进程
1.图形方式查看
命令:`gnome-system-monitor`
2.进程查看命令
命令:`ps`
ps -A/-e 显示所有(包括不同终端不同用户)进程(PID,TTY,TIME,CMD)
ps -a 当前环境中运行的进程,不包含环境信息(PID,TTY,TIME,CMD)
ps -u (username) 显示当前(username)用户进程信息(USER,PID,CPU,MEM,VSZ,RSS,TTY,STAT,START,TIME,COMMAND)
ps a 显示当前终端环境中(包括不同用户)运行的进程
ps x 列出系统中所有运行包含tty输出设备
ps f 显示进程的父子关系
ps e 显示进程中的详细信息(列出程序所使用的环境变量)
常用组合
ps -aux 显示系统中所有进程并显示进程用户
ps -ef 显示进程详细信息并显示父子进程关系
ps -ax 显示系统中所有进程
ps -o 显示进程的指定信息
ps -o comm 进程名称
ps -o user 进程所有人
ps -o group 进程所有组
ps -o %cpu 进程cpu使用率
ps -o %mem 进程内存使用率
ps -o pid 进程id
ps -o nice 进程优先级
PID :进程编号
TTY :命令所执行的终端(tty1-tty6是本机登入者,pts/0等是网络连接主机的程序)
STAT :进程状态
TIME :运行程序占用cpu的时间
COMMAND/CMD :改程序的实际指令
%CPU :进程占用CPU百分比
%MEM :进程占用内存百分比
VSZ :虚拟内存集,进程占用的虚拟内存空间
RSS :物理内存集,进程占用的实际物理内存空间
shell查看进程
进程排序
ps --sort= +%cpu 正序显示cpu占用率排序进程结果
ps --sort= -%mem 逆序显示内存占用率排序进程结果
按照CPU占用率顺序显示前10行
三.进程的状态与优先级
STAT 显示状态:
R 正在运行
S 可唤醒的睡眠状态
D 不可唤醒的睡眠进程
T 停止状态
Z 僵尸进程
l 内存中有锁定空间
N 优先级低
< 优先级高
+ 前台进程
s 顶级进程
NI 显示优先级:
1.优先级范围
-20——19(-20最高,19最低)
2.优先级查看
ps ax -o pid,nice,comm
3.改变进程优先级
renice -n 5 pid 将进程id为pid的进程优先级变为5
renice -n -5 6574 将进程id为6574的进程优先级变为-5
运行vim并监控pid和优先级,初始优先级为0,pid为15813
利用renice -n 5 15813修改vim优先级为5
4.指定某个优先级开启进程
nice -n 优先级数字 进程名称
nice -n -5 vim & 后台开启vim并且指定优先级为-5
四.环境中进程的前后台调用
jobs 查看被打入后台的进程
ctrl+z 把占用终端的进程打入后台
fg jobsnum 把后台进程调回前台
bg jobsnum 继续运行后台暂停的进程
comm & 让命令直接在后台运行
打开vim和gedit并放置后台,利用jobs查询
命令后加&直接在后台打开vim
五.进程信号
1.常用进程信号等级
1 进程重新加载配置
2 删除进程在内存中的数据
3 删除鼠标在内存中的数据
9 强行结束目标进程(不可被阻塞)
15 正常关闭进程(可能会被阻塞)
18 运行暂停的进程
19 暂停某个进程(不可被阻塞)
20 把进程打入后台(可以被阻塞)
2.利用信号等级管理进程
man 7 signal 查看信号详细信息
kill -信号等级 pid 对进程编号为pid的进程进行管理
killall -信号等级 comm 对所有名称为comm进程管理
pkill -信号等级 -u -student 根据特定条件控制进程
打开vim并后台
强制结束进程vim
六.动态监控进程top
命令:`top`
进入top界面后输入
【s】:修改进程刷新间隔时间
【m】:根据内存占有率进行排序
【c】:根据cpu占有率进行排序
【u】:后面输入用户名,用来查看该用户
【k】:后面跟要管理的进程pid,和发起的信号(eg:9,15,20)
【q】:退出进程查看界面
【h】:显示top命令的帮助界面
输入s修改刷新时间
输入c根据cpu占有率排序
以上是关于linux基础学习的主要内容,如果未能解决你的问题,请参考以下文章