c - 注意到 linux 中的一个进程没有显示在进程列表中,这是怎么发生的?

标签 c linux unix libc

我最近注意到一个隐藏的进程,它没有出现在进程列表中,但它消耗CPU时间和内存。这是怎么发生的,它是如何编写的,它在做什么,我们如何杀死该进程。

有什么方法可以取消隐藏此类隐藏的进程

最佳答案

简而言之,您只能使用内核级代码来完成此操作。您要么必须从源代码修改内核,要么编写一个具有如此多安全漏洞的应用程序,除非您故意破坏操作系统本身的现有安全功能,否则它无法在现代操作系统上运行。

如果这种追求是学术性的,那么下面的链接应该提供更多帮助。如果您尝试执行恶意操作,请注意此方法将会失败。

最后,您应该意识到这种进程没有有效或合法的用例,除了某种严厉的 DRM 机制,它会以某种方式削弱操作系统,或者可能故意隐藏某个用户/组拥有的进程处理重要的设备驱动程序,即使是 ROOT 用户也不应该尝试杀死/终止/杀死。在 seLinux、QNX 或具有管理用户访问权限的关键任务系统中,这可能是为了防止菜鸟/新手管理员搬起石头砸自己的脚。

学分: https://unix.stackexchange.com/questions/17164/how-to-make-a-process-invisible-to-other-users

关于c - 注意到 linux 中的一个进程没有显示在进程列表中,这是怎么发生的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15977258/

相关文章:

c - 如果在 C 中结构初始化失败,则返回 NULL?

c - uint_16t转换后uint8_t的值

c - 多线程程序中的错误(运行缓慢)

linux - 比较两个变量之间的数据并生成报告到文本文件中

c# - .net 核心用于 ubuntu linux 流水线

linux - 计算网络服务器日志中每个 URI 的请求和状态代码

c++ - 每个文件的 seek_ptr 是唯一的吗?

shell - 在 awk 中修剪字符串的前导和尾随空格

c - 未初始化的变量

c - 如何将代码从终端重定向到绘图应用程序?