考点精讲
- 程序是静态代码,进程是运行中的程序实例。进程类型分交互、守护、批处理;孤儿进程被 systemd 收养、僵尸进程需父进程回收。进程状态 R/S/Z/T/D 等。ps aux 查看所有进程(含其它终端)、pstree -p 树状显示、top 动态监控(交互 q 退出、k 杀进程)。任务控制 &/bg/fg/Ctrl+z/jobs -l。优先级 PRI 与 nice 相关,普通用户 nice 0~19、root -20~19,nice/renice 调整。信号 kill -l 列出,SIGTERM(15) 正常终止、kill -9(SIGKILL) 强制杀。lsof 可恢复被删除但仍被进程占用的文件。
- 前后置引导:前置:先掌握「软件的安装与卸载」(07-软件的安装与卸载),本页在其基础上展开。;后置:继续学习「服务管理 systemd」(08-进程和服务管理),承接下一知识点。
记忆技巧
ps aux 记「aux」三字母全查;杀进程「先礼后兵」——先 kill(SIGTERM 15 正常),不行再 kill -9 强杀。
常见误区
- 把程序与进程混为一谈(程序是代码,进程是运行实例)
- 误以为 kill -9 是首选(应先 SIGTERM 15 正常终止)
- 混淆 nice 值方向(nice 值越大优先级越低)
真题思路
- 【示例】 查看系统上所有进程(含其它终端进程),应使用 ps 的哪个选项组合?
ps ps aux ps -l ps -f
答案:B
解析:ps aux 显示所有用户、所有终端进程;ps 默认只显示当前终端当前用户进程(讲义 08-进程和服务管理)。
常见问题
Q:进程和程序有什么区别?
A:程序是磁盘上的静态代码,进程是程序运行时的动态实例。(解析:核心概念辨析。)
Q:僵尸进程是怎么产生的?
A:子进程结束但父进程未回收其状态时产生,需父进程回收。(解析:进程状态。)
Q:kill -9 和 kill 的区别?
A:kill 发 SIGTERM(15) 正常终止,kill -9 发 SIGKILL 强制终止。(解析:信号区别。)
Q:如何恢复被误删但仍被进程占用的文件?
A:用 lsof 找到占用进程,通过进程的文件描述符恢复。(解析:lsof 应用。)
相关知识
教材出处:08-进程和服务管理 进程管理