我看到我的 PC 进程列表中的守护进程处于空闲状态,内存使用率为 0。我希望我的守护进程像这样运行,那么它是如何完成的呢?
答案1
如果您包含 ps 输出的摘录,将会有所帮助。但是,如果您正在谈论这样的事情:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 35028 4416 ? Ss Nov05 0:07 /sbin/init
root 2 0.0 0.0 0 0 ? S Nov05 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S Nov05 2:43 [ksoftirqd/0]
root 5 0.0 0.0 0 0 ? S< Nov05 0:00 [kworker/0:0H]
root 8 0.4 0.0 0 0 ? S Nov05 73:44 [rcu_preempt]
root 9 0.0 0.0 0 0 ? S Nov05 0:00 [rcu_sched]
root 10 0.0 0.0 0 0 ? S Nov05 0:00 [rcu_bh]
...
那么括号中的任何内容实际上都是内核线程。做到这一点的方法是编写一个 lkm,但这可能不是您想要做的。我想您可以做的另一件事是让 RSS 停止运行,那就是编写一个只是休眠的用户级守护进程,因此最终会被调出。但 VSZ 仍将不为零。