Come definire diversi segnali di arresto / riavvio con avvio


8

Sto iniziando a convertire tutti i nostri sistemi in upstart per gestire i nostri vari processi applicativi. Una cosa che mi manca costantemente è la capacità di inviare un segnale diverso al processo stopo agli restarteventi.

Ad esempio, eseguiamo i nostri processi Web con Unicorn . Unicorn ha un'ottima API per la gestione del segnale. Quando voglio ricaricare con garbo il processo invio al master pid un segnale USR2. Per spegnerli con grazia invio un comando QUIT. TERM (segnale di arresto predefinito upstart) costituisce un arresto immediato.

Un altro esempio sta usando Resque . Per arrestare con grazia un lavoratore, invio il segnale QUIT. Il segnale TERM causa nuovamente l'arresto immediato, indipendentemente dal fatto che il figlio del lavoratore sia biforcuto o meno.

Upstart supporta segnali personalizzati? Non riesco a trovarlo da nessuna parte, il che mi preoccupa che sto usando lo "strumento sbagliato per il lavoro".

Risposte:


4

Ubuntu 10.04 viene fornito con la versione upstart 0.6.6 che ha i parametri kill signalekill timeout che configurerebbero i valori rilevanti di segnale e timeout. Il segnale "ricaricare" è codificato SIGHUP.

Le versioni più recenti di upstartintroducono il reload signalparametro - vedere altre risposte a questa domanda per ulteriori dettagli.


Buono a sapersi, non so perché il segnale di ricarica sia hardcoded ma credo che dovrò conviverci per il momento.
localshred

Secondo la risposta diclophis di seguito, questo è ora possibile tramite reload signal SIGUSR2, ma richiede upstart v 1.10.0.
Ghayes,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.