История изменений
Исправление firkax, (текущая версия) :
Нет. Это другое. Хотя и близко.
Если говорить про трассировку состояния своих потомков родительским процессом, то и в случае традиционных pid-ов там никаких неоднозначностей не возникает: pid, возвращённый из fork-а, никуда не потеряется до тех пор, пока родитель явно его не «отпустит» с помощью wait.
Если говорить про сохранение pid-а запущенного процесса где-то в файле, то pidfd сохранить в файл нельзя, так что эту задачу он не решит. Всё равно нужен какой-то процесс-хранитель этой ссылки, который и с обычными pid-ами тоже справляется с задачей. Единственное, что тут лучше, так это то, что pidfd можно отправить другому процессу через unix-сокет, а слот дочернего процесса для wait - нельзя.
Исходная версия firkax, :
Нет. Это другое. Хотя и близко.
Если говорить про трассировку состояния своих потомков родительским процессом, то и в случае традиционных pid-ов там никаких неоднозначностей не возникает: pid, возвращённый из fork-а, никуда не потеряется до тех пор, пока родитель явно его не «отпустит» с помощью wait.
Если говорить про сохранение pid-а запущенного роцесса где-то в файле, то pidfd сохранить в файл нельзя, так что эту задачу он не решит. Всё равно нужен какой-то процесс-хранитель этой ссылки, который и с обычными pid-ами тоже справляется с задачей. Единственное, что тут лучше, так это то, что pidfd можно отправить другому процессу через unix-сокет, а слот дочернего процесса для wait - нельзя.