【问题标题】:Killing every process except system's and my own杀死除了系统和我自己的所有进程
【发布时间】:2014-12-26 11:53:01
【问题描述】:

我正在尝试让病毒在 VMWare 上运行,这样我就可以在 Ubuntu 和 用它做实验。现在,我希望我的实验性病毒(虽然它几乎不是病毒,它更像是一个实际程序)能够杀死/终止除自身和系统进程之外的每个进程。

我想到了两个选择:

要么我获取所有非系统进程 ID 并杀死每个进程,与我的第一个比较,以避免杀死自己。

或者在某些情况下有一个实际的命令或内置函数,我做了一些研究,我成功地使我的进程“屏蔽”了任何终止/终止信号,但我不确定如何搜索其他进程ID(非系统的)。

知道如何执行此操作吗?

【问题讨论】:

  • 您对“系统”进程的定义是什么?
  • @William Pursell 一个未被用户激活的进程,是系统继续运行所必需的。这意味着我不想杀死一个会损害系统本身并导致计算机崩溃的进程。
  • 你需要一个更好的定义。根据给出的定义,可以说唯一的“系统”进程是 init (pid 0)。人们也可以争辩说每个进程都是一个“系统”进程。

标签: c unix ubuntu process


【解决方案1】:

以下命令是列出系统上的每个进程。

ps辅助

【讨论】:

  • 我看到了那个,但是我如何只获得那些系统进程,操作系统运行所必需的内部进程。
  • @Jack 一般来说,Unix 和 Linux 并没有真正区分系统进程和其他进程。守护进程、交互式进程、批处理/计划作业和其他类似的东西之间存在区别,但实际上并没有任何东西说“这是一个系统进程”......
猜你喜欢
  • 2014-11-04
  • 2011-12-12
  • 2011-06-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多