Child process oluşturma ve öldürme

Başlatan natgho, 31 Ocak 2016 - 19:17:07

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

natgho

Merhaba arkadaşlar,
Ben bir program yazmaktayım ve programın içerisinde "optirun glxgears" komutunu belirli bir süre çalıştırıp, doğru çalışıp çalışmadığını kontrol etmek için çıktısını bir string olarak alıp incelemem gerekiyor.
Ancak process'i oluşturunca sonlandıramıyorum, yani şöyleki;

p = subprocess.Popen("optirun glxgears ", stdout=subprocess.PIPE, shell=True)
os.kill(p.pid,signal.SIGKILL)
time.sleep(5)
sonuc = p.communicate()[0]

print(sonuc)


şöyle * bir şey deniyorum, ama process ölmüyor bir türlü, acaba bir çözüm önerisi olan var mı?[/code]
Hayır ben Windows Düşmanı Değilim,Bu Yüzden Linux Kullanmıyorum, Ben Sadece Benim Donanımımda At Koşturacaksa Bir Yazılım, her Adımını Bilme Sorumluluğunu Hisseden Bir Teknologtan Fazlası olmadığım İçin Linux Kullanıcısıyım.

hitokiri

Süre sayacının kill işleminden önce olması gerek tabi. Ancak os komutu ile python süreçleri eşzamanlı olarak çalışmaz bu hali ile önce os için çalışan komutunun devam edebilir olması gerek. Kodu 'optirun glxgears &' olarak değiştirmen istediğin şeyi sağlayabilir, diye düşünüyorum. Yani şunun gibi bir şeyler:
p = subprocess.Popen("optirun glxgears &", stdout=subprocess.PIPE, shell=True)
time.sleep(5)
os.kill(p.pid,signal.SIGKILL)
sonuc = p.communicate()[0]
print(sonuc)

natgho

İlginize teşekkür ederim, deneyeceğim :)
Hayır ben Windows Düşmanı Değilim,Bu Yüzden Linux Kullanmıyorum, Ben Sadece Benim Donanımımda At Koşturacaksa Bir Yazılım, her Adımını Bilme Sorumluluğunu Hisseden Bir Teknologtan Fazlası olmadığım İçin Linux Kullanıcısıyım.