Tôi đang khởi chạy một quy trình con với lệnh sau:
p = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True)
Tuy nhiên, khi tôi cố gắng giết bằng cách sử dụng:
p.terminate()
hoặc là
p.kill()
Lệnh tiếp tục chạy trong nền, vì vậy tôi đã tự hỏi làm thế nào tôi thực sự có thể chấm dứt quá trình.
Lưu ý rằng khi tôi chạy lệnh với:
p = subprocess.Popen(cmd.split(), stdout=subprocess.PIPE)
Nó chấm dứt thành công khi ban hành p.terminate()
.
shell=True
sự khác biệt lớn?
cmd
trông như thế nào? Nó có thể chứa một lệnh kích hoạt một số quy trình được bắt đầu. Vì vậy, không rõ quá trình bạn nói về.