我常常感到困惑的是,尽管我从事计算机专业工作几十年,Linux 工作十年,但我实际上将操作系统的大部分功能视为黑匣子,与魔术没什么两样。
今天我想到了这个kill
命令,虽然我每天多次使用它(无论是“正常”还是-9
风格),我必须承认我完全不知道它在幕后是如何工作的。
在我看来,如果一个正在运行的进程被“挂起”,我会调用kill
它的 PID,然后它突然不再运行了。魔法!
那里到底发生了什么?联机帮助页谈论“信号”,但这肯定只是一种抽象。发送kill -9
到进程不需要进程的合作(如处理信号),它只是将其杀死。
我真的很想知道这一切!