我有一个长期运行的,守护进程的Python进程,它使用子进程在发生某些事件时生成新的子进程.长时间运行的进程由具有超级用户权限的用户启动.我需要它生成的子进程作为不同的用户(例如,"nobody")运行,同时保留父进程的超级用户权限.
我正在使用
su -m nobody -c <program to execute as a child>
Run Code Online (Sandbox Code Playgroud)
但这似乎是重量级的,并不会非常干净地死去.
有没有办法以编程方式完成此操作而不是使用su?我正在查看os.set*uid方法,但Python std lib中的doc在该领域非常稀少.