一、
程序;开发编写的源代码,封装为产品,比如微信、钉钉都称为程序。
进程:程序运行的过程,主要用来控制计算机硬件运行我们的程序
线程:执行单位,进程的子集,进程会包含线程
并发:多个任务看起来是同时运行,其实是cpu来回多个线程切换,是一种假并行
并行:多个任务同时执行,需要cpu支持
 
二、进程状态、进程生命周期
1、状态
运行:正在使用cpu
阻塞:碰到 IO 操作,需要等待
就绪:准备好,等待cpu 从就绪队列中调度
 
2、生命周期
(1)子进程退出 -- 僵尸程序 Z
(2)子进行运行中父进程退出 -- 孤儿进程
 
二、进程监控
 
1、ps静态
(1)ps -aux 查看进程用户、PID、占用CPU百分比、占用内存百分比、状态、执行的命令等
(2)ps -ef 查看pid 格式: ps -ef | grep 关键词
(3)pgrep 过滤用户运行进程名称,以及进程ID
-l:查看pid和进程的名字
-a:列出进程pid以及详细信息
-u:查看特定用户运行的进程
(4)pstree (树状显示进程详情)
-p 指定查看某个进程的树状结构
格式:pstree -p pid
 
2、top 动态
(1)选项命令
-d:刷新时间
-u:指定用户
-p :指定pid
 
3、查看cpu负载的命令
w
uptIme
htop
glances
 
4、查看内存的命令
free
如何释放buffer/cache 中的内存
echo "3"> /proc/sys/vm/drop_caches
 
三、管理进程状态
1、kill
kill -1:通常用来重新加载配置文件
kill -9:强制杀死进程
kill -15:终止进程,默认kill信号
 
2、pkill killall
指定进程服务名称,然后将其进程关闭
格式:pkill 进程名称
killall 进程名称
四、优先级
nice:启动进程指定优先级
renice:修改正在运行的进程的优先级
 
五、后台进程
screen
-S 为其指定名称