Saya meluncurkan subproses dengan perintah berikut:
p = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True)
Namun, ketika saya mencoba membunuh menggunakan:
p.terminate()
atau
p.kill()
Perintah terus berjalan di latar belakang, jadi saya bertanya-tanya bagaimana saya bisa benar-benar menghentikan proses.
Perhatikan bahwa ketika saya menjalankan perintah dengan:
p = subprocess.Popen(cmd.split(), stdout=subprocess.PIPE)
Itu berhasil berakhir ketika mengeluarkan p.terminate()
.
shell=True
membuat perbedaan besar?
cmd
penampilanmu? Ini mungkin berisi perintah yang memicu beberapa proses untuk dimulai. Jadi tidak jelas proses yang Anda bicarakan.