hyp*_*ink 3 python unix linux filesystems
我有一个 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。我尝试在运行此服务的初始化脚本中设置 umask。但看起来它并没有被服务生成的子进程继承。尝试在 RHEL 上完成此操作(如果有效果的话)。谢谢 !
由于该preexec_fn参数似乎对您有用,因此您也可以使用它来调用 os.umask() :
def initchildproc():
    os.setpgrp()
    os.umask(400)
subprocess.Popen(cmd, shell=False, preexec_fn=initchildproc, ...)