Çok daha okunabilir python sürümüne bir kabuk komut dosyası için çalışıyorum. Orijinal kabuk betiği arka planda "&" ile birkaç işlem (yardımcı programlar, monitörler vb.) Başlatır. Python'da aynı etkiyi nasıl elde edebilirim? Python komut dosyaları tamamlandığında bu işlemlerin ölmemesini istiyorum. Bir şekilde bir daemon kavramıyla ilgili olduğundan eminim, ancak bunu nasıl kolayca yapabileceğimi bulamadım.
subprocess.Popen()
2010'dan bu yana yeni önerilen yol (şimdi 2015'teyiz) ve (3) buraya yönlendirilen yinelenen sorunun da kabul edilmiş bir cevabı var subprocess.Popen()
. Şerefe :-)
subprocess.Popen("<command>")
liderliğindeki <komut> dosyası ile olmalıdır . Benim için mükemmel çalışır (Debian), bash ve python betikleriyle, dolaysız shell
s ve ana sürecinden kurtulur. stdout
ebeveynin terminaliyle aynı terminale gider. Yani bu &
OP'nin isteği olan bir kabukta olduğu gibi çalışıyor . Ama cehennem, küçük bir test hiçbir zaman göstermezken tüm sorular çok karmaşık çalışır;)