Пытаясь найти все корни определенного приложения процесса, созданного на C, и вызывая пользовательский системный вызов, который я сделал, который возвращает массив всего процесса с использованием информации task_struct*, я понял, что задача swapper/0 — это задача, которая указывает на себя через родительский указатель (т.е. swapper/0->parent == swaper/0). Мой вопрос: какой из них является настоящим великим GRAND-родителем любого процесса, работающего в пользовательском пространстве? это swapper/0 или задача прямо перед ней (или дочерний элемент swapper/0)? т.е. Является ли swapper/0 реальной задачей или просто конечным флагом для обхода родительских связанных списков?
Кстати, этот вопрос расширяет вопрос, заданный мной в этом сообщении: Конечный флаг для обхода предков в пространстве ядра в C.