如何设置我正在生成的进程的 umask?
How can I set the umask of a process I am spawning?
我有一个 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, ...)
我有一个 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, ...)