4 votes

Que signifie SIGUSR1 dans "killall -SIGUSR1 tint2".

Je veux utiliser teinte2 comme mon panel dans une session Openbox.

Le fichier de configuration de tint2 est ~/.config/tint2/tint2rc. Le programme tint2 instructions de configuration avoir ça :

Lorsque vous modifiez le fichier de configuration, la ligne de commande 'killall -SIGUSR1 tint2' forcera tint2 à le recharger.

Qu'est-ce que

killall -SIGUSR1

faire ?

En d'autres termes, comment le fait de courir killall -SIGUSR1 tint2 cause tint2rc à être rechargé ?


Edit : il semble que ~/.conkyrc puisse être rechargé de la même manière. Depuis man conky :

Une façon simple de forcer Conky à recharger votre ~/.conkyrc : "killall -SIGUSR1 conky". Cela vous évite d'avoir à tuer puis à redémarrer. Vous pouvez maintenant faire la même chose avec SIGHUP.

2voto

Rmano Points 30303

En kill La commande envoie vraiment un signal au processus... c'est un peu mal nommé.

La commande

killall -SIGxxx name

enverra le "signal" xxx au processus avec le nom "nom". Les processus sous Unix peuvent recevoir et gérer un ensemble de signaux pour répondre à des événements externes. Par défaut kill envoyer le signal SIGTERM qui a l'effet (prédéfini) de tuer gracieusement le processus. (le signal SIGKILL tuera le processus "brutalement", c'est la raison pour laquelle il est parfois nécessaire d'utiliser la commande killall -SIGKILL ... commande).

Certains processus ont une signification codée en dur (par exemple : HUP est la déconnexion, etc. ) et sont parfois envoyés par le noyau. USR1 y USR2 sont des signaux définissables par l'utilisateur.

Vous pouvez même faire cela dans les scripts facilement : si vous mettez dans un scripts la ligne

trap "echo TRAPPED" USR1

le script imprimera "TRAPPED" lorsque vous lui enverrez le signal USR1 avec la commande kill.

Donc la réponse à la dernière question est :

De toute évidence, le programme "tint2" possède un code qui, à la réception du signal USR1, recharge son fichier de configuration.

Voir par exemple http://unixhelp.ed.ac.uk/CGI/man-cgi?signal+7

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X