Запускать дочерние процессы от имени другого пользователя из давно запущенного процесса Python
У меня есть долго работающий, демонизированный процесс Python, который использует подпроцесс для порождения новых дочерних процессов, когда происходят определенные события. Длительный процесс запускается пользователем с привилегиями суперпользователя. Мне нужно, чтобы дочерние процессы, которые он порождает, запускались от имени другого пользователя (например, «никто»), сохраняя привилегии суперпользователя для родительского процесса.
Я сейчас пользуюсь
su -m nobody -c <program to execute as a child>
но это кажется тяжелым и не умирает очень чисто.
Есть ли способ сделать это программно вместо использования su? Я смотрю на методы os.set * uid, но документация в библиотеке Python std довольно редкая в этой области.