[LINUX] Je t'ai écrit pour regarder le signal avec Go

tl;dt https://github.com/nozo-moto/signal_kansitai

Objectif

Un peu de recherche, je voulais savoir quel type de signal était envoyé à l'application

Méthode

Le langage Go peut être géré lorsqu'il y a un signal dans la goroutine créée en procédant comme suit.

c := make(chan os.Signal)
signal.Notify(c)
go func() {
	for {
		s := <-c
		log.Println("signal :", s)
		}
	}
}()

Bonne journalisation Je voulais écrire dans la sortie standard et le fichier journal, j'ai donc utilisé ʻio.MultiWriter`

logfile, err := os.OpenFile("./signal.log", os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0666)
if err != nil {
	panic("cannnot create log :" + err.Error())
}
defer logfile.Close()
log.SetOutput(io.MultiWriter(logfile, os.Stdout))
log.SetFlags(log.Ldate | log.Ltime)

Il gère le signal comme ça et l'envoie

% tail -f signal.log
2020/02/09 21:48:01 alive :
2020/02/09 21:49:01 alive :
2020/02/09 21:50:01 alive :
2020/02/09 21:50:33 signal : hangup false

J'ai essayé de le laisser tomber lorsque SIGTERM a été envoyé. La survie est confirmée une fois toutes les 60 secondes. De plus, les systèmes qui ne peuvent pas être manipulés, tels que SIGKILL, ne peuvent pas être manipulés et mourir.

Résultats

J'ai découvert qu'il y avait un signal pour changer la taille de la fenêtre du terminal appelé SIGWINCH.

Recommended Posts

Je t'ai écrit pour regarder le signal avec Go
J'ai essayé d'analyser les émotions de tout le roman "Weather Child" ☔️
Je l'ai écrit en langage Go pour comprendre le principe SOLID
J'ai écrit un script pour vous aider à démarrer avec AtCoder à grande vitesse!
J'ai essayé de sauvegarder les données avec discorde
Je voulais jouer avec la courbe de Bézier
Je t'ai fait exprimer la fin de l'adresse IP avec L Chika
J'ai écrit un script pour relancer la montre gulp qui mourra bientôt
J'ai essayé d'entraîner la fonction péché avec chainer
J'ai essayé de toucher un fichier CSV avec Python
J'ai essayé de résoudre Soma Cube avec python
Je veux hériter de l'arrière avec la classe de données python
J'ai essayé de résoudre le problème avec Python Vol.1
J'ai écrit un outil CLI en langue Go pour afficher le flux de balises de Qiita dans CLI
J'ai écrit GP avec numpy
Connectez-vous à Postgresql avec GO
J'ai essayé de trouver l'entropie de l'image avec python
J'ai essayé de simuler la propagation de l'infection avec Python
J'ai écrit le code pour la génération de phrases japonaises avec DeZero
Je voulais résoudre le concours de programmation Panasonic 2020 avec Python
lire le tag qui vous est attribué dans ec2 avec boto3
J'ai essayé de notifier les informations de retard de train avec LINE Notify
J'ai écrit rapidement un programme pour étudier la DI avec Python ①
Déplacez ce que vous avez installé avec pip dans l'environnement conda
Ce que j'ai fait pour accueillir le Python2 EOL en toute confiance
[Python] Je souhaite utiliser l'option -h avec argparse
Je n'arrive pas à me connecter à la page d'administration avec Django 3
J'ai capturé le projet Toho avec Deep Learning ... je le voulais.
J'ai écrit le fonctionnement de base de matplotlib dans Jupyter Lab
J'ai écrit un doctest dans "J'ai essayé de simuler la probabilité d'un jeu de bingo avec Python"
J'ai essayé de décrire le trafic en temps réel avec WebSocket
J'ai essayé de résoudre l'édition du débutant du livre des fourmis avec python
Je veux connaître la météo avec LINE bot avec Heroku + Python
J'ai essayé d'automatiser l'arrosage du pot avec Raspberry Pi
Ravi de vous rencontrer avec python
J'ai créé un serveur Web avec Razpai pour regarder des anime
[Introduction à StyleGAN] J'ai joué avec "The Life of a Man" ♬
Je veux sortir le début du mois prochain avec Python
J'ai essayé de traiter l'image en "style croquis" avec OpenCV
J'ai écrit le code pour écrire le code Brainf * ck en python
J'ai essayé de calculer l'intégrale de probabilité (I à l'intégrale)
[Introduction à sinGAN-Tensorflow] J'ai joué avec la super-résolution "Challenge Big Imayuyu" ♬
J'ai essayé de démarrer avec Bitcoin Systre le week-end
J'ai aimé le tweet avec python. ..
J'ai écrit le fonctionnement de base de Pandas dans Jupyter Lab (partie 1)
Je voulais résoudre le problème ABC164 A ~ D avec Python
J'ai essayé de traiter l'image dans un "style de dessin au crayon" avec OpenCV
J'ai écrit la file d'attente en Python
Pour le moment, je veux convertir n'importe quel fichier avec ffmpeg !!
Je veux faire ○○ avec les Pandas
Je veux vérifier la position de mon visage avec OpenCV!
Que faire lorsque vous obtenez "Je ne peux pas voir le site !!!!"
J'ai essayé d'améliorer l'efficacité du travail quotidien avec Python
Je veux déboguer avec Python
J'ai comparé Jinja2 en lisant le document pour l'utiliser avec Django
J'ai écrit le fonctionnement de base de Pandas dans Jupyter Lab (partie 2)
J'ai essayé de déplacer le ballon