Moh*_*ghi 15 linux process kill
我正在开发一个密码管理器应用程序,出于安全原因,我想启动一个无法杀死的进程。
此外,我不希望这个程序成为守护进程,因为我需要从标准输入读取并写入它。
有没有办法做到这一点?
Gre*_*egD 12
从技术上讲,用户无法使进程不可杀死。
当然,对于非 root 用户,他们只能杀死与他们具有相同用户 ID 的进程,因此如果您可以创建不同的帐户,则可以为该进程使用“唯一”用户 ID,然后只有 root 才能杀死它。
一个简单但不太稳健的解决方案是让您的进程捕获尽可能多的信号(可能忽略它们)。这仅适用于玩具示例或非对抗性环境,因为无法捕获 KILL 信号(信号 9),否则您可以避免被它们杀死。
最后,您可以安排让您的进程在被杀死时重新生成。这也是脆弱的,但会使其更难清除。这可以使用您自己的监视器进程或使用 inittab 来完成。对于知道自己在做什么的对手,可以通过一次杀死多个进程来规避这一点。