UNIX与Linux编程基础:进程、环境与程序控制
1. 信号机制
在UNIX系统中,内核掌控着众多由不同用户创建的进程,其中包含许多维持系统正常运行所必需的“系统”进程。为了实现进程间的通信,内核允许进程之间相互发送“消息”。不过,由于系统中可能同时存在大量进程和消息,UNIX将这些消息限制为非常简单的形式,即信号。
信号以单字节的形式存在,它们是对进程的指令,常见的有 kill (立即终止进程)和 stop (暂停进程)。信号主要用于进程调度,决定进程的执行时间和顺序。用户可以使用 kill 命令向特定进程发送信号。例如,要终止一个PID为16403的 sleep 进程,可以使用以下命令:
$ kill -s KILL 16403
这里的 -s 选项用于指定要发送的信号名称,虽然该信号全称为 SIGKILL ,但传递给 kill 命令时只需使用 KILL ,因为所有信号都以 SIG 开头,在这种情况下 SIG 是冗余的。除了 SIGKILL ,还有许多其他信号,如 SIGHUP 和 SIGTTIN 等。
有时需要终止进程,可能是因为后台进程因软件编写问题被误留在后台,或者原本预计
超级会员免费看
订阅专栏 解锁全文
1520

被折叠的 条评论
为什么被折叠?



