小编Hig*_*ing的帖子

识别内核线程

我想知道如何区分内核线程和用户线程,以便我正在构建一个进程扫描器.我很难找到两种类型的好定义.

我发现内核线程没有自己的内存,因此/ proc/$ pid/status中没有Vm*值,并且/ proc/$ pid/exe上的stat没有返回任何内容.

所以,我想如果进程没有Vm*值且没有inode号,我可以识别内核线程.我想错了......我的脚本看到php-cgi进程有时会被识别为内核进程.

如果发现大多数错误识别的进程都是僵尸,那么后来就会消失.所以我实施了一个简单的检查,看看状态是否为"Z".如果是这样,请忽略它.这为我节省了很多误报,但我仍然收到有关php-cgi内核进程的消息.

谁能告诉我如何以正确的方式区分内核线程和用户线程?

linux process

13
推荐指数
2
解决办法
1万
查看次数

标签 统计

linux ×1

process ×1