基础知识
bash
linux进程管理
什么是进程
开发写代码->代码运行起来->进程
运行起来的程序叫做进程
程序与进程区别
1.程序是一个静态的概念,主要是指令集和数据的结合,可以长期存放在操作系统中
2.进程是一个动态的概念,主要是程序的运行状态,进程存在生命周期,生命周期结束进程也就会死亡
进程的生命周期
fork
wait
exec
exit
进程的状态机制
runnable
stopped
running(kernel)
running(user)
k 被杀死被终止的进程 等待父进程回收的状态
D 不可中断的睡眠状态 与磁盘进行沟通进行I/O操作
S 可中断的睡眠状态 在等待用户输入 等待资源的可用 当操作完成以后就会重新转为runnable
进程状态中的切换
R 前台
S 睡眠状态
T 暂停状态
D 不可中断睡眠状态
Z 僵尸进程
Ss 父进程
S< 优先级较高
Sn 优先级较低
R+ 前台运行
SI 线程方式
进程就是运行的程序
线程就是多个打工仔
监控进程
bash
静态
ps
a 显示所有进程
u 显示用户相关的进程信息
x 显示没有终端运行的进程
e 显示所有进程包括其他用户的进程
l 以长格式显示
f 显示完整的格式
组合:
1.查看当前操作系统中所有的进程
# ps aux
2.查看进程详细的信息
# ps -elf
动态
top
htop
pstree 查看进程关系
-a 进程运行的命令 如何开启该进程
-u 进程所属用户 没显示就是root用户
-p 进程id
pgrep
查看指定进程信息(了解即可)
-u 用户名
-t 登录终端
进程管理
bash
进程的管理
使用kill -l 列出当前系统中左右支持的信号
数字信号 信号别名 作用
1 HUP 挂起信号,平滑重启,往往可以让进程重新配置
2 INT 中断信号,起到结束进程的作用,和ctrl + c 的作用一样
3 QUIT 让进程退出,结果是进程退出
9 KILL 强制结束进程,不能被进程捕获
15 TERM 进程正常终止,这是默认信号
18 CONT 被暂停的进程将继续恢复运行
19 STOP 暂停进程
20 TSTP 用户停止请求,作用类似于ctrl + z 把进程放到后台并暂停
kill [信号] [进程ID]
killall
yum install -y psmisc
killall [信号] [进程名称]
pkill [信号] [选项] [参数]
-t 选择关闭终端