深入理解UNIX进程处理:作业控制与信号机制
在UNIX系统中,进程处理是一项关键技能,它涉及到作业控制和信号机制等重要方面。下面将详细介绍这些内容,帮助你更好地掌握UNIX系统中的进程管理。
1. 作业控制
在UNIX系统里,你可能会疑惑为什么要关注进程ID或作业编号。实际上,在不使用窗口工作站的情况下,即便不参考进程ID,你也能正常使用UNIX系统。不过,作业编号就显得更为重要了,因为它能与用于作业控制的shell命令配合使用。
需要注意的是,如果你的UNIX版本较旧,可能系统不支持作业控制。像许多基于Xenix、System III或早期System V的系统就存在这种情况。在这些系统中,Korn shell没有fg和bg命令,你无法通过按下[CTRL - Z]来暂停作业,并且TSTP信号也不存在。但如果开启了监控模式,shell仍支持这里讨论的其他功能,包括作业编号以及jobs和kill命令。要确保开启监控模式,可在.profile文件中添加set -o monitor这一行。
控制作业最常见的方法是使用&将作业放到后台运行。当作业在后台运行时,你可以让它运行至结束、将其调至前台,或者向它发送信号。
1.1 前台和后台
内置命令fg可以将后台作业调至前台。通常情况下,