Saya menulis program di IDLE untuk membuat tokenize file teks dan program itu mulai membuat tokeniza 349 file teks! Bagaimana saya bisa menghentikannya? Bagaimana cara menghentikan program Python yang sedang berjalan?
106
Saya menulis program di IDLE untuk membuat tokenize file teks dan program itu mulai membuat tokeniza 349 file teks! Bagaimana saya bisa menghentikannya? Bagaimana cara menghentikan program Python yang sedang berjalan?
ctrl+c
harus membunuhnya. Atau,kill -9
ituJawaban:
Untuk menghentikan program Anda, cukup tekan Control + C.
sumber
^C
di terminal dan monitor sistem menunjukkan python masih menggunakan banyak CPU ...Ctrl + Z
(setidaknya di Linux). Kemudian, jika Anda ingin membunuhnya, jalankan dikill %n
mana "n" adalah nomor yang Anda dapatkan di sebelah "Berhenti" saat Anda menekanCtrl + Z
. Jika Anda ingin melanjutkannya, jalankanfg
.Anda juga dapat melakukannya jika Anda menggunakan
exit()
fungsi dalam kode Anda. Idealnya, Anda bisa melakukannyasys.exit()
.sys.exit()
yang mungkin menghentikan Python bahkan jika Anda menjalankan sesuatu secara paralel melaluimultiprocessing
paket.Catatan: Untuk menggunakan
sys.exit()
, Anda harus mengimpornya:import sys
sumber
sys.exit(1)
tidak menghentikan prosesnya. Saya pada dasarnya memiliki beberapa utas dan masing-masing dari mereka memblokir proses eksternal yang dimulai olehPopen
. Saya membutuhkan opsi nuklir untuk membunuh semua sub-proses yang dibuat oleh proses Python serta proses Python itu sendiri. Tidak ditemukan sejauh ini.Jika program Anda berjalan pada konsol interaktif, menekan CTRL+ Cakan memunculkan
KeyboardInterrupt
pengecualian pada utas utama.Jika program Python Anda tidak menangkapnya, program tersebut
KeyboardInterrupt
akan menyebabkan Python keluar. Namun,except KeyboardInterrupt:
blok, atau sesuatu seperti telanjangexcept:
, akan mencegah mekanisme ini benar-benar menghentikan skrip agar tidak berjalan.Terkadang jika
KeyboardInterrupt
tidak berfungsi, Anda dapat mengirimSIGBREAK
sinyal sebagai gantinya; di Windows, CTRL+ Pause/Breakdapat ditangani oleh penerjemah tanpa membuatKeyboardInterrupt
pengecualian yang dapat ditangkap .Namun, mekanisme ini terutama hanya berfungsi jika interpreter Python sedang berjalan dan merespons peristiwa sistem operasi. Jika interpreter Python tidak merespons karena alasan tertentu, cara paling efektif adalah menghentikan seluruh proses sistem operasi yang menjalankan interpreter. Mekanisme untuk ini bervariasi menurut sistem operasi.
Di lingkungan shell gaya Unix, Anda dapat menekan CTRL+ Zuntuk menangguhkan proses apa pun yang saat ini mengontrol konsol. Setelah Anda mendapatkan prompt shell kembali, Anda dapat menggunakan
jobs
untuk membuat daftar pekerjaan yang ditangguhkan, dan Anda dapat menghentikan pekerjaan yang ditangguhkan pertama dengankill %1
. (Jika Anda ingin menjalankannya kembali, Anda dapat melanjutkan pekerjaan di latar depan dengan menggunakanfg %1
; baca manual shell Anda tentang kontrol pekerjaan untuk informasi lebih lanjut.)Alternatifnya, di lingkungan Unix atau Unix-like, Anda dapat menemukan PID proses Python (pengidentifikasi proses) dan mematikannya dengan PID. Gunakan sesuatu seperti
ps aux | grep python
untuk menemukan proses Python mana yang sedang berjalan, dan kemudian gunakankill <pid>
untuk mengirimSIGTERM
sinyal.The
kill
perintah pada Unix mengirimSIGTERM
secara default, dan program Python dapat menginstal penangan sinyal untukSIGTERM
menggunakansignal
modul. Secara teori, penangan sinyal apa pun untukSIGTERM
harus menghentikan proses dengan baik. Tetapi terkadang jika prosesnya macet (misalnya, diblokir dalam kondisi tidur IO yang tidak terputus),SIGTERM
sinyal tidak berpengaruh karena proses tersebut bahkan tidak dapat bangun untuk menanganinya.Untuk secara paksa mematikan proses yang tidak merespons sinyal, Anda perlu mengirim
SIGKILL
sinyal, kadang-kadang disebutkill -9
karena9
adalah nilai numerik dariSIGKILL
konstanta. Dari baris perintah, Anda dapat menggunakankill -KILL <pid>
(ataukill -9 <pid>
singkatnya) untuk mengirimSIGKILL
dan menghentikan proses yang segera berjalan.Di Windows, Anda tidak memiliki sistem sinyal proses Unix, tetapi Anda dapat secara paksa menghentikan proses yang sedang berjalan dengan menggunakan
TerminateProcess
fungsi tersebut. Secara interaktif, cara termudah untuk melakukannya adalah dengan membuka Pengelola Tugas, temukanpython.exe
proses yang sesuai dengan program Anda, dan klik tombol "Akhiri Proses". Anda juga dapat menggunakantaskkill
perintah untuk tujuan serupa.sumber
Ctrl + C
.exit()
, Anda bisa melakukannya.pkill -f name-of-the-python-script
.sumber
python script.py&
Ctrl-Break itu lebih kuat dari Ctrl-C
sumber
Untuk menghentikan program yang sedang berjalan, gunakan Ctrl+ Cuntuk menghentikan proses.
Untuk menanganinya secara terprogram dalam python, impor
sys
modul dan gunakan disys.exit()
mana Anda ingin menghentikan program.import sys sys.exit()
sumber
Untuk menghentikan skrip python menggunakan keyboard:
Ctrl
+C
Untuk menghentikannya menggunakan kode (Ini telah berhasil untuk saya di Python 3):
import os os._exit(0)
Anda juga bisa menggunakan:
import sys sys.exit()
atau:
atau:
raise SystemExit
sumber
Ctrl + Z harus melakukannya, jika Anda terjebak di shell python. Perlu diingat bahwa skrip dapat terus berjalan di latar belakang, jadi di bawah linux Anda harus menghentikan proses yang sesuai.
sumber
jobs
ataups
kekill 8923754
jobid / id proses apa pun yang perlu Anda bunuhKetika saya memiliki skrip python yang berjalan di terminal linux, CTRL + \ berfungsi. (bukan CRTL + C atau D)
sumber
Control+ Dbekerja untuk saya di Windows 10. Selain itu, meletakkan
exit()
di bagian akhir juga berfungsi.sumber
exit () akan mematikan Kernel jika Anda menggunakan Notebook Jupyter, jadi itu bukan ide yang baik.
raise
perintah akan menghentikan program.sumber
Anda juga dapat menggunakan
Activity Monitor
untuk menghentikan proses pysumber
Untuk menghentikan program Anda, cukup tekan CTRL+D
atau
exit()
.sumber
Tekan Ctrl+ Alt+ Deletedan Task Manager akan muncul. Temukan perintah Python yang sedang berjalan, klik kanan padanya dan dan klik Stop atau Kill.
sumber
Jika Anda bekerja dengan Spyder, gunakan CTRL +. (DOT) dan Anda akan merestart kernel, juga Anda akan menghentikan program.
sumber
Solusi Windows: Control + C.
Solusi Macbook: Control (^) + C.
Cara lain adalah dengan membuka terminal, ketik
top
, tulisPID
proses yang ingin Anda matikan lalu ketik di terminal:kill -9 <pid>
sumber