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上找不到任何东西.
好吧,可能有人可以编写一个对大多数信号(如 SIGQUIT、SIGHUP 等)不响应的程序。 - 每种“kill”实际上是内核发送给程序的一种信号,某些信号对于内核来说意味着程序正在运行卡住了,应该被杀死。实际上唯一不可杀死的程序是内核本身,甚至 init (PID 1) 也可以用 HUP(这意味着重新加载)“杀死”。
了解有关信号处理的更多信息,从kill -l(列出信号)命令开始。
关于Windows(基于“防病毒”标签) - 实际上也适用于Linux - 如果你只需要运行一些防病毒用户无法跳过/关闭,这是权限问题,我的意思是由系统启动的程序,以及非管理用户未经许可杀死它,无论如何都无法关闭/退出它。我猜全世界 Windows 上的蹩脚用户都会先尝试关闭防病毒软件来“解决”他们遇到的任何问题,只要可能的话:)