Exemple de script pour piéger les signaux en Python

Objectif

Étudiez les signaux et laissez une note du script qui piège SIGTERM

référence

Je me réfère ici https://engineeringnote.hateblo.jp/entry/python/signal

scénario

signal.py


import signal
import time
from threading import Thread

FLAG = False

def handler(signum, frame):
    global FLAG
    print("signal={}".format(signum))
    FLAG = True

def waiting():
    global FLAG
    while not FLAG:
        print("Waiting for signal...")
        time.sleep(5)

t1 = Thread(target=waiting, args=[])
t2 = Thread(target=waiting, args=[])
t1.start()
t2.start()

signal.signal(signal.SIGTERM, handler)
signal.signal(signal.SIGINT, handler)
signal.pause()

comportement


python signale.py 
Waiting for signal...
Waiting for signal...

Vérifiez le processus

ps aux | grep test
ec2-user 21269  0.0  0.1 275896  9144 pts/1    Sl+  16:40   0:00 python36 test.py

Émission de SIGTERM

kill -SIGTERM 21269

Confirmez qu'il a été piégé

Waiting for signal...
Waiting for signal...
Waiting for signal...
Waiting for signal...
Waiting for signal...
Waiting for signal...
Waiting for signal...
Waiting for signal...
Waiting for signal...
Waiting for signal...
Waiting for signal...
Waiting for signal...
Waiting for signal...
Waiting for signal...
Waiting for signal...
Waiting for signal...
signal=15

Recommended Posts

Exemple de script pour piéger les signaux en Python
Exemple pour mettre Python Kivy dans un fichier
Pour vider stdout en Python
Connectez-vous au site Web en Python
Un mémorandum pour exécuter un script python dans un fichier bat
Je veux échantillonner au hasard un fichier avec Python
Préparation au contrôle des objets rhino avec des scripts dans Grasshopper / Python
Parler avec Python [synthèse vocale]
Comment développer en Python
Publier sur Slack en Python
Un script qui compte jusqu'à 5 secondes et s'arrête dans le Python de Blender
Affectation d'une macro de génération de modèles dans un fichier de script Python à la touche F12
Comment échantillonner à partir de n'importe quelle fonction de densité de probabilité en Python
Convertir Markdown en PDF en Python
Comment collecter des images en Python
Comment utiliser SQLite en Python
Obtenez le chemin du script en Python
Dans la commande python, python pointe vers python3.8
[python] Script de copie pour générer un journal de copie
Essayez de calculer Trace en Python
Comment utiliser Mysql avec python
Comment envelopper C en Python
Comment utiliser ChemSpider en Python
6 façons d'enchaîner des objets en Python
Comment utiliser PubChem avec Python
Comment gérer le japonais avec Python
Une alternative à `pause` en Python
Comment passer des arguments à un script Python dans SPSS Modeler Batch
J'ai écrit une fonction pour charger le script d'extension Git en Python
J'ai écrit un script pour extraire les liens de pages Web en Python
Articles à lire lorsque le code de script Python de Blender ne fonctionne pas dans 2.80
Convertir un script Python écrit dans PyTorch en exe avec PyInstaller
J'ai essayé d'implémenter PLSA en Python
[Introduction à Python] Comment utiliser la classe en Python?
Essayez de vous connecter à qiita avec Python
Installez Pyaudio pour lire des vagues en python
J'ai essayé d'implémenter la permutation en Python
Méthode pour créer un environnement Python dans Xcode 6
Comment définir dynamiquement des variables en Python
Comment faire R chartr () en Python
Envoyer des e-mails à plusieurs destinataires avec Python (Python3)
J'ai essayé d'implémenter PLSA dans Python 2
Pour définir le codage par défaut sur utf-8 en python
Decorator pour éviter UnicodeEncodeError dans Python 3 print ()
Comment utiliser BigQuery en Python
Connectez-vous à Slack à l'aide de requêtes en Python
Exécuter l'interpréteur Python dans le script
Comment obtenir stacktrace en python
Comment afficher la table quatre-vingt-dix-neuf en python
Un moyen simple d'utiliser Wikipedia avec Python
Comment extraire une zone de polygone en Python
Comment vérifier la version d'opencv avec python
J'ai essayé d'implémenter ADALINE en Python
[Python] pandas à bien comprendre en 10 minutes
Lancer le Webhook entrant vers Mattermost en Python
Module pour générer le mot N-gramme en Python
Pour référencer des variables d'environnement en Python dans Blender
Je voulais résoudre ABC159 avec Python
J'ai essayé d'implémenter PPO en Python
Exemple de gestion des fichiers eml en Python
Comment changer de version de Python dans cloud9