16、Linux 中进程有哪几种状态?在 ps 显示出来的信息中,
分别用什么符号表示的?
答案:
1、不可中断状态:进程处于睡眠状态,但是此刻进程是不可中断的。不可中断,
指进程不响应异步信号。
2、暂停状态/跟踪状态:向进程发送一个 SIGSTOP 信号,它就会因响应该信号 而
进入 TASK_STOPPED 状态;当进程正在被跟踪时,它处于 TASK_TRACED 这个
特殊的状态。
正被跟踪”指的是进程暂停下来,等待跟踪它的进程对它进行操作。
3、就绪状态:在 run_queue 队列里的状态
4、运行状态:在 run_queue 队列里的状态
5、可中断睡眠状态:处于这个状态的进程因为等待某某事件的发生(比如等待
socket 连接、等待信号量),而被挂起
6、zombie 状态(僵尸):父亲没有通过 wait 系列的系统调用会顺便将子进程
的尸体(task_struct)也释放掉
7、退出状态
D 不可中断 Uninterruptible(usually IO)
R 正在运行,或在队列中的进程
S 处于休眠状态
T 停止或被追踪
Z 僵尸进程
W 进入内存交换(从内核 2.6 开始无效)
X 死掉的进程
17、怎么使一个命令在后台运行?
答案:
一般都是使用 & 在命令结尾来让程序自动运行。(命令后可以不追加空格)
18、利用 ps 怎么显示所有的进程? 怎么利用 ps 查看指定进
程的信息?
答案:
ps -ef (system v 输出)
ps -aux bsd 格式输出
ps -ef | grep pid
19、哪个命令专门用来查看后台任务?
答案:
job -l
20、把后台任务调到前台执行使用什么命令?把停下的后台任务
在后台执行起来用什么命令?
答案:
把后台任务调到前台执行 fg
把停下的后台任务在后台执行起来 bg