Python'da kısa bir betik yazmaya çalışıyorum, eğer daha önce başka bir python kodu basmayacaksa, başka bir şekilde terminal & uygulamasını (Linux) sonlandırmaya başlamıyor.Python'dan pid kullanarak işlem nasıl sonlandırılır?
#!/usr/bin/python
from subprocess import Popen
text_file = open(".proc", "rb")
dat = text_file.read()
text_file.close()
def do(dat):
text_file = open(".proc", "w")
p = None
if dat == "x" :
p = Popen('python StripCore.py', shell=True)
text_file.write(str(p.pid))
else :
text_file.write("x")
p = # Assign process by pid/pid from int(dat)
p.terminate()
text_file.close()
do(dat)
uygulama dosyası ".proc" okur pid ile adı işlenme için bilgiyi eksik sorununu var: gibi
Yani görünüyor. Diğer problem, yorumlayıcı dat isimli dizenin "x" ??? Neyi özledim? müthiş psutil
kütüphaneyi kullanma
Niçin 'shell = True' kullanıyorsunuz? AFAIK kullanım durumunuzda gerekli değildir. Ayrıca, 'shell = True' kullanıldığında, p.pid 'tarafından döndürülen pid'in python işleminin pid'i değil, bu işlemi yürütmek için oluşturulan pidenin pid değeri olduğunu unutmayın.Yorumunuz için – Bakuriu
+1, ancak bunu uygun buluyorum çünkü terminali de kapatmam gerekiyor. – Alex