Используя sudo, почему отсоединенный дочерний процесс завершается, когда родительский процесс умирает?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Используя sudo, почему отсоединенный дочерний процесс завершается, когда родительский процесс умирает?

Сообщение Anonymous »

Я пишу программу, требующую прав администратора (программу обновления). В какой-то момент нам нужно запустить другую программу и позволить первой завершиться. Таким образом, родительский процесс создает ответвление, отделяется от своего дочернего процесса и завершает выполнение.
Под пользователем root (например, с использованием «su») все работает как положено.
Как обычный пользователь, ничего особенного не происходит (кроме конечно, для записи файлов от имени пользователя root).
Но, используя sudo, как только родительский процесс завершает свое выполнение, его дочерний процесс также умирает.
Я написал минимальную программу чтобы устранить эту проблему:

Код: Выделить всё

#include 
#include 
#include 

int main()
{
std::cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/78834777/using-sudo-why-are-detached-child-process-terminated-when-the-parent-dies[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»