2016-03-23 12 views
2

Python REST API'sı olan bir hizmetim var. Bu hizmet dahili Yumurtlama yaptığım bir işlemin umaskını nasıl ayarlayabilirim?

subprocess.Popen(cmd, shell=False, preexec_fn=os.setpgrp, env=self.env, universal_newlines=True,stdout=subprocess.PIPE, stderr=subprocess.STDOUT, close_fds=True) 

Şimdi bu çoğaltılır sürecin umask ayarlamak istiyoruz kullanarak bazı komut dosyalarını çalıştırır. Bu hizmeti çalıştıran init komut dosyasına umask ayarlamayı denedim. Ancak hizmet tarafından ortaya çıkarılan alt süreç tarafından miras alınmıyor gibi görünüyor. Bu bir fark yaratırsa bunu RHEL üzerinde yapmaya çalışıyorum. Teşekkürler ! preexec_fn argüman sizin için çalışmaya görünüyor yana

cevap

2

, siz de() os.umask çağırmak için kullanabilirsiniz:

def initchildproc(): 
    os.setpgrp() 
    os.umask(400) 

subprocess.Popen(cmd, shell=False, preexec_fn=initchildproc, ...) 
+0

sayesinde ben bu yayınlanmıştır hemen sonra bu çözüm geldi! – hyperlink