signal.signal ()
signal.signal ( signalnum, handler )
ΠΠ°Π΄Π°Π΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π΄Π»Ρ ΡΠΈΠ³Π½Π°Π»Π° signalnum ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ ΡΡΠ½ΠΊΡΠΈΠΈ handler. handler ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΡΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ Python, ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΠΈΠΌ Π΄Π²Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° (ΡΠΌ. Π½ΠΈΠΆΠ΅), ΠΈΠ»ΠΈ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ signal.SIG_IGN ΠΈΠ»ΠΈ signal.SIG_DFL. ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠΈΠ³Π½Π°Π»Π° (ΡΠΌ. ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ getsignal () Π²ΡΡΠ΅). (ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΡΠΌ. ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ signal(2) Π² Unix.)
ΠΠΎΠ³Π΄Π° ΠΏΠΎΡΠΎΠΊΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½Ρ, ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ·ΡΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠΊΠ°; ΠΏΠΎΠΏΡΡΠΊΠ° Π²ΡΠ·Π²Π°ΡΡ Π΅Π³ΠΎ ΠΈΠ· Π΄ΡΡΠ³ΠΈΡ ΠΏΠΎΡΠΎΠΊΠΎΠ² Π²ΡΠ·ΠΎΠ²Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ValueError.
handler Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Ρ Π΄Π²ΡΠΌΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ: Π½ΠΎΠΌΠ΅Ρ ΡΠΈΠ³Π½Π°Π»Π° ΠΈ ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΊΠ°Π΄Ρ ΡΡΠ΅ΠΊΠ° (None
ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠ°Π΄ΡΠ°; ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΊΠ°Π΄ΡΠ° ΡΠΌ. Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΈΠ΅ΡΠ°ΡΡ
ΠΈΠΈ ΡΠΈΠΏΠΎΠ² ΠΈΠ»ΠΈ Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΡΡ
Π°ΡΡΠΈΠ±ΡΡΠΎΠ² ΠΌΠΎΠ΄ΡΠ»Ρ inspect).
Π Windows signal () ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ·ΡΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Ρ SIGABRT, SIGFPE, SIGILL, SIGINT, SIGSEGV, SIGTERM ΠΈΠ»ΠΈ SIGBREAK. Π Π»ΡΠ±ΠΎΠΌ Π΄ΡΡΠ³ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠ° ValueError. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π½Π΅ Π²ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΉ Π½Π°Π±ΠΎΡ ΠΈΠΌΠ΅Π½ ΡΠΈΠ³Π½Π°Π»ΠΎΠ²; ΠΎΡΠΈΠ±ΠΊΠ° AttributeError Π±ΡΠ΄Π΅Ρ Π²ΡΠ·Π²Π°Π½Π°, Π΅ΡΠ»ΠΈ ΠΈΠΌΡ ΡΠΈΠ³Π½Π°Π»Π° Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ ΠΊΠ°ΠΊ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° ΡΡΠΎΠ²Π½Ρ ΠΌΠΎΠ΄ΡΠ»Ρ SIG *.
ΠΡΡΡ (ΡΠ΅Π΄.4): ΠΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π½ΠΎΠΌΠ΅Ρ ΡΠΈΠ³Π½Π°Π»Π°, ΠΎΠ±ΡΠ΅ΠΊΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΡΠΈΠ³Π½Π°Π»Π° Ρ Π΄Π°Π½Π½ΡΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ. ΠΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Python Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΡΠΈΠ³Π½Π°Π»ΠΎΠ², ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ Π²ΡΠ·ΡΠ²Π°ΡΡ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π²Π½ΡΡΡΠΈ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΡΠΈΠ³Π½Π°Π»Π°, ΡΡΠΎΠ±Ρ Π·Π°Π½ΠΎΠ²ΠΎ Π΅Π³ΠΎ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ. Π’ΠΎ Π΅ΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π²ΡΠ΅Ρ ΡΠΈΠ³Π½Π°Π»ΠΎΠ², Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΈΠ³Π½Π°Π»Π° SIGCHLD, ΠΎΡΡΠ°ΡΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΌΠΈ, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡΠ΄ΡΡ ΡΠ±ΡΠΎΡΠ΅Π½Ρ ΡΠ²Π½ΠΎ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΡΠ΅ΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π΅Π³ΠΎ Π² Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ SIG_DFL, ΡΡΠΎΠ±Ρ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ΅ΠΆΠΈΠΌ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΈΠ»ΠΈ Π² Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ SIG_IGN, ΡΡΠΎΠ±Ρ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΈΠ³Π½Π°Π»). ΠΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠΈΠ³Π½Π°Π»Π° SIGCHLD Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ.
Last updated