“ps”中的 [..] 是什么意思,如何创建类似的流程?

“ps”中的 [..] 是什么意思,如何创建类似的流程?

运行时ps,你会得到类似这样的结果:

root         2  0.0  0.0      0     0 ?        S<   00:00   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        S<   00:00   0:00 [ksoftirqd/0]
root         4  0.0  0.0      0     0 ?        S<   00:00   0:00 [events/0]

所有守护进程通常都带有[..]括号。

它们是什么意思(如果有的话)?如何创建这样的流程?

我询问的原因是我们从 rcS 创建了一个系统守护进程(该程序使用 fork 来创建守护进程),但是 ps 条目如下所示:

root       207  0.0  0.2   1516   200 ?        S    00:00   0:00 /root/testdaemo

因此,我们想知道括号是否重要[..],以及流程首先如何获得它们。

谢谢。

答案1

方括号用于没有关联命令行的进程(主要是内核线程和一些系统服务)。

如果我没记错的话,您可以通过设置argv[0]为空字符串来实现相同的效果。

答案2

是的,它们是内核线程,由内核子系统创建。它们是使用内核中的 kthread_create() 或 kernel_thread() 函数创建的。

答案3

您的示例甚至没有显示[...],所以我不能 100% 确定您在说什么。但是,可以修改argv任何程序的参数(在 Linux 中)。参数反映在 的输出中ps

相关内容