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

标签 c hook signal-processing interrupt interrupt-handling

有什么办法可以制作一个不可中断的程序(一个不间断的程序)?我的意思是,在任何系统(Linux、Windows 等)中都不能被任何信号、kill 命令或任何其他组合键终止的进程

首先,我很想知道这是否可能。如果是,最多可以达到什么程度?

我主要用 C、C++ 和 Python 编写代码;但我不知道这些编程语言中有任何此类命令可用。

汇编语言是否可行,如何实现?还是使用带有嵌入式汇编代码(内联汇编)的高级语言 C?

我知道有些信号是可以捕获的,有些则不像 SIGKILL 和 SIGSTOP。

我记得,当我习惯于在 Windows-XP 上工作时,有些病毒甚至无法从任务管理器中终止。 所以我想一些解决方案可以用低级语言实现。可能通过覆盖中断 vector 表。

我们可以使用 TSRs(Hooking) 编写一个不间断的程序吗?因为 TSR 只能在计算机重新启动时删除,或者如果 TSR 已明确从内存中删除。 我说的对吗?

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

最佳答案

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

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

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

关于c - Windows(或 Linux)中的不间断进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12437648/

相关文章:

c - 如何将音频事件前后 50 毫秒存储在循环缓冲区中?

python - 单吉他音符Python的谐波积谱

c - FFT 频率区间和 PIC32

c - 您更喜欢&cycle->read_events[i] 和cycle->read_events+i 之间的关系

在 Linux 上使用 C 检查目录是否为空

drupal - 在 Drupal 7 中为表单调用自定义 Theme() 函数

c - 在套接字上设置 TCP ECN (C Linux)

testing - test.before 钩子(Hook)覆盖 feature.beforeEach 钩子(Hook)。逻辑不好?

c# - DX9/10/11 屏幕捕获 C#

ios - Shazam 或 Sound Hound 是如何工作的?