linux中的进程管理
什么是进程
进程的定义
程序是指程序运行时的形态(静态的代码文件)
进程是指程序运行时的形态
进程是程序的一个副本
进程是有生命周期的(准备期 运行期 终止期)
进程与线程
进程是资源调用的最小单位
线程是程序的最小单位。
进程参看命令
查看进程的两种形式(图形化和非图形化)
gnome-system-monitor
ps
ps ##进程查看
##a 与终端相关的进程(当用户登陆系统后产生的进程都是带终端的)(终端指输入设备)
##x 与终端无关的相关进程
##u 用户信息归类的查看方式
##f 进程层级关系
##o 显示指定参数 pid ,comm ,nice ,pri ,pcpu ,ppid ,stat ,user,group
user 进程所有 人
pid 进程id
pri 进程的优先级
pcpu 进程的优先级
ppid 系统子进程的id
stat 进程的运行状态
user 进程的发起者
group 进程的组
comm 进程名称
ax的组合使用 就显示了当前的所有进程
USER 进程所有人
PID 进程id
%CPU 进程使用cpu的用量
%MEM 进程所用到的内存用量
VSZ 进程所用到的虚拟内存的大小
RSS 进程常驻内存中的的数据大小
TTY 进程用到的终端
STAT 进程状态
START 进程运行时间
TIME 进程占用cpu时长
COMMAND 进程名称
##-e 显示所有进程
##-f 显示信息的完整格式
##-H 显示进程的完整结构
##-o 显示指定参数
##--sort= (按照某个变量排序) ps axo pid,comm,nice,%cpu --sort=%cpu
注:以上的参数为两种类型的表示方式(都可以使用)
进程状态
R runing #可执行态
S intrruptable #可唤醒状态
D unintrruptable #不可唤醒状态
T stop #暂停状态
Z zombie #僵死状态
进程过滤
pgrep #进程过滤命令
#-u uid 显示指定用户进程
#-U user 显示指定用户进程
#-t tty 显示指定终端进程
#-l 显示进程名称
#-a 显示进程的完整名称
#-p 显示进程的子进程
pidof 反向寻址,可以通过pidof +进程名称,来查找这个这个进程的id
动态进程的查看
top ##动态进程查看
top - 11:31:05 up 2:25, 1 user, load average: 0.14, 0.18, 0.15
##11:31:05 系统时间
##up 2:25 运行时长
##1 user 系统中用两个用户登陆
##load average: 0.14, 0.18, 0.15
1min 5min 15min
##Tasks:
Tasks: 229 total, 4 running, 225 sleeping, 0 stopped, 0 zombie
## Tasks: 229 total 任务总量
## 225 sleeping 休眠任务数量
## 0 stopped, 被暂停的任务
## 0 zombie 僵死的任务数量
#
##%Cpu(s)
top 命令参数 (外部参数)
#-d 指定刷新率
-b 以批次方式显示
-n 指定显示的批次数量
#top内部指令
#P cpu 排序 (进入top中之后按 P 会按照cpu的利用率进行排序)
#M 内存排序
#T 累计占用cpu时间排序
#l 关闭/开启uptime信息
#t 关闭/开启 cpu&task
#s 指定刷新率
#k 操作进程 (可以执行指令)
#u 查看指定用户进程
进程优先级
范围:0-139
内核自控优先级范围:0-99
用户可控优先级:100 -139
nice值的范围是 -20 到19 总共40个 ,数值越小优先级越高
用户只能将自己的优先级调低
+ ##暂停一个进程(把占用shell的进程打入后台)
fg ##继续这个进程(把后台挂起的进程调回前台)
bg ##把后台挂起的进程运行起来
& ##运行程序在后台
jobs ##参看当前shell中在后台的所有工作
暂停期间输入的内容,会在程序再次运行时被输入进去
进程信息相关操作
1 #重新加载系统配置文件
2 #清空内存中的进程数据
3 #清空内存中的鼠标(ctrl+\)
9 #强行结束进程(不能被阻塞)
15 #正常关闭进程(会被阻塞)
18 #运行被暂停的进程
19 #暂停进程 (不会被阻塞)
20 #暂停进程
阻塞:如果这个进程比较重要且在使用,部分会被阻塞的应用,虽然执行这个命令但是无法关关掉这个进程
kill 进程信号 pid #对进程进行操作
killall 进程信号 进程名称 #对符合进程名的进程批量进行操作
pkill 进程信号 进程条件 #(对符合条件的进程进行操作,可以指定进程所有者等等条件,相当于扩大般的killall)
进程条件(一类进程)
systemd 守护进程
什么是守护进程
守护进程(daemon)是生存期长的一种进程,没有控制终端。它们常常在系统引导装入时启动,在系统关闭时关闭
#通常pid为1
#systemd ------>systemctl
#systemctl 管理系统服务
systemctl命令的用法
systemctl start 进程名 #开启服务
systemctl stop 进程名 #暂停服务
systemctl status 进程名 #查看服务状态
systemctl reload 进程名 #重新加载指定服务
systemctl restart 进程名 #重新启动指定服务
systemctl enable 进程名 #设定服务开机启动
systemctl enable --now 进程名 #设定系统开机启动并开启服务
systemctl disable 进程名 #设定系统开机时不启动
systemctl disable --now 进程名 #设定系统开机时不启动并结束服务
systemctl list-units #查看系统所有服务当前状态
systemctl list-unit-files #查看服务开机状态
systemctl list-dependencies #列出服务依赖性
systemctl mask 进程名 #冻结指定服务
systemctl unmask 进程名 #解锁指定服务
systemctl set-default #设定系统运行模式
#mnlti-user.target 无图形网络模式
#graphical.target 有图形网络模式
systemctl get-default ##查看系统运行模式
C/S架构:服务端与客户端的区别
一般认为提供服务的主机为服务端,使用功能的为客户端
系统中登陆的审计
w #显示正在登陆系统的账号
## - i 显示登陆来源
##/var/run/utmp 对应文件的位置
last ##登陆成功现在已经退出的
##/var/log/wtmp 对应文件位置
lastb ##试图登陆但未成功
##/var/log/btmp 对应文件位置