Windows(或Linux)中的不间断进程?

Gri*_*han 10 c hook signal-processing interrupt interrupt-handling

有没有办法让程序无法中断(一个不间断的程序)?通过这个,我的意思是a process that can't be terminated by any signal, kill command, or any other key combinations在任何系统:Linux,Windows等.

首先,我有兴趣知道它是否可能.如果是,那么可能的范围是什么?

我主要用C,C++和python编写代码; 但我不知道这些编程语言中有任何这样的命令.

是否可以使用汇编语言,以及如何使用?或者使用嵌入式汇编代码(内联汇编)的高级语言c?

我知道有些信号可以捕获,有些信号不像SIGKILL和SIGSTOP.

我记得,当我some viruses couldn't be terminated even from Task Manager.习惯使用Windows-XP时,我想在低级语言中可能有一些解决方案.也许通过重写中断向量表.

我们可以使用TSR(挂钩)编写一个不间断的程序吗?因为TSR只能在重新启动计算机时或者从内存中明确删除TSR时删除.我对么?

我在Google上找不到任何东西.

Pio*_*das 5

好吧,可能有人可以编写一个对大多数信号(如 SIGQUIT、SIGHUP 等)不响应的程序。 - 每种“kill”实际上是内核发送给程序的一种信号,某些信号对于内核来说意味着程序正在运行卡住了,应该被杀死。实际上唯一不可杀死的程序是内核本身,甚至 init (PID 1) 也可以用 HUP(这意味着重新加载)“杀死”。

了解有关信号处理的更多信息,从kill -l(列出信号)命令开始。

关于Windows(基于“防病毒”标签) - 实际上也适用于Linux - 如果你只需要运行一些防病毒用户无法跳过/关闭,这是权限问题,我的意思是由系统启动的程序,以及非管理用户未经许可杀死它,无论如何都无法关闭/退出它。我猜全世界 Windows 上的蹩脚用户都会先尝试关闭防病毒软件来“解决”他们遇到的任何问题,只要可能的话:)