我有一个Python REST API服务。此服务使用
在内部执行一些脚本subprocess.Popen(cmd, shell=False, preexec_fn=os.setpgrp, env=self.env, universal_newlines=True,stdout=subprocess.PIPE, stderr=subprocess.STDOUT, close_fds=True)
现在我想设置生成的进程的umask。 我尝试在运行此服务的init脚本中设置umask。但看起来它并没有被服务产生的子进程继承。如果这有所不同,试图在RHEL上完成此操作。谢谢!
答案 0 :(得分:3)
由于preexec_fn
参数似乎对您有用,您也可以使用它来调用os.umask():
def initchildproc():
os.setpgrp()
os.umask(400)
subprocess.Popen(cmd, shell=False, preexec_fn=initchildproc, ...)