LINUX.ORG.RU

История изменений

Исправление firkax, (текущая версия) :

Нет. Это другое. Хотя и близко.

Если говорить про трассировку состояния своих потомков родительским процессом, то и в случае традиционных pid-ов там никаких неоднозначностей не возникает: pid, возвращённый из fork-а, никуда не потеряется до тех пор, пока родитель явно его не «отпустит» с помощью wait.

Если говорить про сохранение pid-а запущенного процесса где-то в файле, то pidfd сохранить в файл нельзя, так что эту задачу он не решит. Всё равно нужен какой-то процесс-хранитель этой ссылки, который и с обычными pid-ами тоже справляется с задачей. Единственное, что тут лучше, так это то, что pidfd можно отправить другому процессу через unix-сокет, а слот дочернего процесса для wait - нельзя.

Исходная версия firkax, :

Нет. Это другое. Хотя и близко.

Если говорить про трассировку состояния своих потомков родительским процессом, то и в случае традиционных pid-ов там никаких неоднозначностей не возникает: pid, возвращённый из fork-а, никуда не потеряется до тех пор, пока родитель явно его не «отпустит» с помощью wait.

Если говорить про сохранение pid-а запущенного роцесса где-то в файле, то pidfd сохранить в файл нельзя, так что эту задачу он не решит. Всё равно нужен какой-то процесс-хранитель этой ссылки, который и с обычными pid-ами тоже справляется с задачей. Единственное, что тут лучше, так это то, что pidfd можно отправить другому процессу через unix-сокет, а слот дочернего процесса для wait - нельзя.