Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana Mengendalikan Gangguan SIGINT dalam Python dengan Anggun?

Bagaimana Mengendalikan Gangguan SIGINT dalam Python dengan Anggun?

Patricia Arquette
Lepaskan: 2024-12-25 22:36:14
asal
204 orang telah melayarinya

How to Gracefully Handle SIGINT Interruptions in Python?

Mengendalikan Gangguan SIGINT dalam Skrip Python

Apabila bekerja dengan skrip Python yang melaksanakan berbilang proses dan sambungan pangkalan data, keluar yang anggun apabila menerima gangguan SIGINT (Ctrl C) adalah selalunya diingini. Dalam keadaan ini, adalah perlu untuk mendaftarkan pengendali untuk SIGINT untuk melaksanakan tugas pembersihan yang diperlukan.

Python Equivalent of Perl's SIGINT Handling

Untuk mencapai analog pengendalian SIGINT Perl dalam Python, manfaatkan isyarat.fungsi isyarat sebagai berikut:

import signal
import sys

def signal_handler(sig, frame):
    print('You pressed Ctrl+C!')
    sys.exit(0)

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

Penjelasan

  • Daftar Pengendali: Baris signal.signal(signal.SIGINT, signal_handler) menetapkan fungsi signal_handler sebagai yang ditetapkan pengendali untuk semua isyarat SIGINT.
  • Isyarat Pengendali: Fungsi signal_handler dicetuskan apabila menerima SIGINT. Di sini, ia mencetak mesej dan keluar dari skrip dengan anggun dengan sys.exit(0).
  • Cetak dan Jeda: Selepas mendaftarkan pengendali, skrip menggesa pengguna untuk menekan Ctrl C. Panggilan signal.pause() menyekat skrip sehingga isyarat diterima.

Tambahan Sumber

  • [Dokumentasi Modul isyarat](https://docs.python.org/3/library/signal.html)

Atas ialah kandungan terperinci Bagaimana Mengendalikan Gangguan SIGINT dalam Python dengan Anggun?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan