Sto sviluppando un'applicazione e mi piacerebbe stampare alcune statistiche di runtime sulla console su richiesta. kille i segnali mi sono venuti immediatamente in mente.
Leggere i segnali Unix su Wiki SIGINFOsembra la strada da percorrere perché:
- È destinato a questi scopi
- Non termina il processo se il gestore del segnale non è implementato (contrariamente a
SIGUSRx- vedere qui )
Tuttavia, controllando l'output di kill -l, sembra che il mio server non abbia implementato questo segnale.
Le mie domande sono:
- Perché
SIGINFOmanca sul mio sistema? È assente su tutti i sistemi GNU Linux? - Esiste un modo semplice (ovvero nessuna ricompilazione kernel / glibc) per abilitare questo segnale? Se nessuno, quale sarebbe il modo difficile?
- Quale segnale alternativo potrei usare per i miei scopi che non provocherebbe effetti collaterali se non gestito dal processo target? (Ne presumo già nessuna poiché non sono riuscito a trovare nessun altro segnale adatto sul manuale di glibc )
Metainfo Linux:
Linux whatever 3.18.2-2-ARCH #1 SMP PREEMPT Fri Jan 9 07:37:51 CET 2015 x86_64 GNU/Linux
Aggiornamento: sto ancora cercando ulteriori informazioni sul motivo per cui questo segnale è condizionatamente escluso da altri sistemi diversi da BSD (vedere i commenti di seguito). Il segnale sembra essere abbastanza utile per molti scopi, quindi è difficile per me credere che sia solo una questione di capriccio - quindi qual è il vero showtopper per questo segnale disponibile su Linux?
ddcon quello sul mio Mac. ^Tdurante l' ddesecuzione non fa nulla sulla macchina Linux - aggiornerò la domanda di conseguenza.
^Tapparire nella produzione distty -a?