如何在 linux shell 中创建一个不会被 Ctrl-C 杀死的僵尸进程?

How Can make a zombie process in linux shell which is not killed by Ctrl-C?

如何在 linux shell 中创建一个未被 Ctrl-C 杀死并在死亡前复制自身的僵尸进程?如果可能的话,我们将如何终止这样的进程?

根据定义,僵尸进程已经死亡。除了进程 table 中的条目之外,它不会消耗任何资源。生成它的进程要么忽略了 waiting 的簿记,要么在 forking 之前在 SIGCHLD 上设置忽略。由于它已经退出,kill 对僵尸进程没有影响(kill -9 也不会)。当其父进程调用 waitpid() 或退出时,它将 从进程 table 中删除。

如果您只想让脚本忽略 Ctrl-Ckill,请使用 trap "code" SIGNALS

#!/bin/bash
trap "echo Not dead yet!" SIGINT SIGTERM
echo "Kill me with kill -9 $$"
while true; do sleep 1; done