首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >删除Linux中存在的进程

问删除Linux中存在的进程
EN

Stack Overflow用户
提问于 2013-03-10 13:52:41
回答 1查看 107关注 0票数 0

如果一个人追求在Linux中编写内核模块的疯狂而危险的想法.

  • 在内核的内部处理表中查找由PID指定的进程
  • 从表中提取内存中进程的开始/结束嵌入。
  • 用0覆盖此进程的所有内存。

然后..。

  • 这是否是立即终止任何进程的一种方式?
  • 这有多“不安全”?在不引起内核恐慌的情况下,这是可能的吗?
EN

回答 1

Stack Overflow用户

发布于 2013-03-10 14:41:02

用零覆盖进程的代码(在x86中)很可能不会阻止进程执行,但由于这是一个普通的指令,我认为添加EAX、EAX,它将一直走到代码段的末尾,除非EAX指向无效内存。显然,如果进程的寄存器设置为64位中的某个无效内存地址,那么在32位中,一个非规范的值是很好的,它是写保护的,比如零,或者内存中充满了导致“无效操作码”的东西,那就不同了。

我真的不认为这比使用SIGKILL (又名KILL -9 pid)“更好”--如果进程在内核中被阻塞,并且不知何故不离开内核,那么覆盖代码空间是没有帮助的,因为进程无论如何都不会运行该代码。如果内核中有错误,那么您对进程的用户空间内存做什么并不重要。修复内核错误!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15322962

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档