Linux 如何检查 list_head 是否为空?

Linux How to Check if list_head is empty?

我看到 linux 内核正在使用 struct list_head 来保存进程的子进程。

如果进程没有分叉子进程怎么办? return 是否为空?我如何检查进程是否没有子进程?

文件include/linux/list.h contains many useful functions for manipulating lists. One of the functions in this file is list_empty(),其中returns检查列表head是否等于其自身(head -> next)的结果,如果为真,则列表为空.

如果子进程列表不为空,您可以使用 list_for_each_entry_safe macro/function 安全地遍历列表。