Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Menangani Gangguan Ctrl C (SIGINT) dengan Anggun dalam Program Python Saya?

Bagaimanakah Saya Boleh Menangani Gangguan Ctrl C (SIGINT) dengan Anggun dalam Program Python Saya?

DDD
Lepaskan: 2024-12-14 11:23:18
asal
532 orang telah melayarinya

How Can I Gracefully Handle Ctrl C Interruptions (SIGINT) in My Python Program?

Menangkap Isyarat SIGINT dalam Python

Dalam Python, pengendalian isyarat seperti SIGINT (dijana dengan menekan Ctrl C) boleh dicapai melalui isyarat modul. Modul ini menyediakan API komprehensif untuk mengurus isyarat dalam program Python.

Untuk menangkap isyarat SIGINT dan melakukan tindakan pembersihan tersuai, ikut langkah berikut:

import signal
import sys

def signal_handler(sig, frame):
    print('You pressed Ctrl+C!')
    # Perform any necessary cleanup tasks هنا
    sys.exit(0)

signal.signal(signal.SIGINT, signal_handler)
print('Press Ctrl+C')
signal.pause()
Salin selepas log masuk

Dalam skrip ini, fungsi signal_handler ditakrifkan sebagai pengendali untuk isyarat SIGINT. Apabila Ctrl C ditekan, fungsi ini digunakan, yang mencetak mesej untuk menunjukkan bahawa isyarat telah diterima. Anda kemudiannya boleh memasukkan sebarang kod pembersihan yang diperlukan dalam fungsi ini, seperti menutup sambungan pangkalan data atau menamatkan proses anak.

Fungsi signal.signal digunakan untuk mendaftarkan fungsi signal_handler sebagai pengendali untuk SIGINT. Fungsi signal.pause() menjeda pelaksanaan skrip sehingga isyarat diterima, menggantung semua operasi lain sehingga pengguna menekan Ctrl C.

Pendekatan ini membolehkan anda mengendalikan SIGINT dalam skrip Python anda dengan anggun, melakukan tugas pembersihan tersuai sebelum menamatkan program. Untuk maklumat lanjut dan dokumentasi, rujuk pautan yang disediakan dalam kod.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menangani Gangguan Ctrl C (SIGINT) dengan Anggun dalam Program Python Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan