一、进程定义
1、进程定义:
程序是静态的代码文件。 进程是指程序运行时的形态。 进程是程序的一个副本。 进程是有生命周期的(准备期,运行期,终止期)。
2、进程和线程:
进程是资源调用的最小单位。 线程是进程的最小单位。 程序执行流是从上倒下贯穿运行的 。 进程是多任务物,cpu是多核心,多任务应该同时被每个核心处理,每个核心处理的任务叫线程。 线程资源是共享的.。
3、进程状态:
字母含义
R(TAKS_RUNNING)可执行态(running,ready)S(TASK_INTRRUPTABLE)可唤醒休眠D(TASK_UNINTRRUPTABLE)不可唤醒休眠T(TASK_STOP)暂停状态Z(EXIT_ZOMBIE)僵死态
二、进程查看命令
gnome-system-monitor图形进程查看工具
1、进程查看:
ps 命令的三种执行风格 Unix Bsd GNU
ps a与终端相关的进程(当用户登陆系统后产生的进程都是带终端的)
ps x与终端无关的进程
ps u用户信息归类的查看方式
ps f进程层级关系
ps o显示指定参数 pid comm nice pri pcpu ppid stat,user,group
ps -e显示所有进程
ps -f显示信息的完整格式
ps -H显示进程的层级结构
ps -o显示指定参数
ps --sort=排序
ps ax 显示信息:
标题含义
PID进程idTTY进程用到的终端STAT进程状态TIME进程占用cpu时长COMMAND进程名称
ps aux显示信息:
标题含义
USER进程所有人PID进程id%CPU进程使用cpu的用量%MEM进程所用到的内存用量VSZ进程使用的虚拟内存大小RSS进程常驻内存中的数据大小TTY进程用到的终端STAT进程状态START进程运行时长TIME进程占用cpu时长COMMAND进程名称
2、进程过滤
项目Value
pgrep -u uid显示指定用户进程pgrep -U user显示指定用户进程pgrep -t tty显示指定终端进程pgrep -l显示进程名称pgrep -a显示进程的完整名称pgrep -P下时进程的子进程
3、查看进程的pid
pidof查看进程pid
4、动态进程查看
top外部命令:
命令功能
-d指定刷新频率-b以批次方式显示-n指定显示的批次数量
top内部命令:
Pcpu排序
M内存排序
T累计占用cpu时间排序
l关闭/开启uptime信息
t关闭/开启cpu&task
s指定刷新频率
k操作进程
u查看指定用户进程
三、进程优先级
系统时多任务多用户的操作模式 任务的重要性是有区分的 如何确定任务的重要性 “优先级”范围: 0–139 内核自控优先级范围:0-99 用户可控优先级:100-139 nice值 -20-19
命令功能
renice -n -5 进程id更改优先级nice -n -5 vim &指定优先级打开进程
符号含义
Ssleeping<优先级高s顶级进程TstopN优先级底Rrunning+运行在前台
四、进程前后台调用
命令功能
ctrl+z把占用shell的进程打入后台挂起bg把后台挂起的进程运行起来fg把后台进程调回前台&运行进程在后台jobs查看当前shell中在后台的所有工作
五、进程信息号
1、进程信号
命令功能
1重新家在系统配置文件(source)2清空内存中的进程数据3清空内存中的鼠标(ctrl+)9强行结束进程(不能被阻塞)15正常关闭进程(会被阻塞)18运行被暂停的进程19暂停进程(不会被阻塞)20暂停进程(会被阻塞的)
2、进程信号控制工具
命令功能
kill 进程信号 pidkillall 进程信号 进程名字pkill 进程信号 进程条件
六、systemd守护进程
1、 systemctl命令的用法:
命令功能
start开启stop关闭status查看状态reload重新加载restart重新启动服务enable设定服务开机启动enable --now设定服务开机启动并当前开启服务disable设定服务开启不启动list-units查看系统所有服务当前状态list-unit-files查看服务开机状态list-dependencies列出服务依赖性mask冻结服务unmask解锁
2、设定系统运行模式
命令功能
set-default multi-user.target无图形网络模式set-default graphical.target有图形的网络模式
3、查看系统运行模式
get-default:
数字系统运行模式
0POWEROFF1single2noG+NETWORK3noG+NETWORK4noG+NETWORK5G+NETWORK6REBOOT
七、系统中的登陆审计
命令功能
w显示正在登陆系统的账号 ## -i 显示登陆来源 #/var/run/utmplast登陆成功现在已经退出的 ##/var/log/wtmplastb试图登陆但未成功 ##/var/log/btmp