Lo standard POSIX o un altro standard C fornisce un modo per recuperare un messaggio significativo da un numero di segnale, nello stesso modo in cui lo strerror()
consente di recuperare un messaggio da errno
? La libreria Gnu C ha strsignal()
, ma se possibile, vorrei qualcosa di portatile per BSD e altre varianti di Unix.Come posso ottenere una descrizione leggibile da un numero di segnale?
risposta
Sì, è interessante notare che esiste un metodo standard per ottenere un messaggio di stringa da un segnale in POSIX. È, per coincidenza, strsignal()
. Da POSIX.1-2008:
La funzione strsignal() deve associare il numero di segnale nel signum a una stringa definita dall'implementazione e deve restituire un puntatore ad essa. Utilizza lo stesso insieme di messaggi della funzione psignal().
Un ambiente che non fornisce questa funzione non è conforme a POSIX. Sebbene relativamente nuovo (il numero 7 è uscito nel 2008), ho una pagina man per strsignal()
su Mac OS X, quindi è un buon segno.
L'array definito esternamente sys_siglist
contiene le descrizioni dei segnali per ciascun numero di segnale ed è un problema standard su BSD.
#include <signal.h>
extern const char *const sys_siglist[];
+1 Non standard di per sé, ma utile e più comune. – pilcrow
- 1. Numero di segnale da nominare?
- 2. codici di errore Boost leggibile descrizione
- 3. Ottenere data leggibile da Epoch in variabile
- 4. boost semplice ora leggibile leggibile da oggi
- 5. Come posso inviare un segnale da un programma python?
- 6. Come posso aggiungere una descrizione Per un DataGridTextColumn
- 7. Come posso ottenere un nome per il fuso orario leggibile da umani in Python?
- 8. Come posso emettere un segnale da un'altra classe?
- 9. Zend_Db: come ottenere il numero di righe da una tabella?
- 10. come ottenere un numero intero da JSON
- 11. Come ottenere il numero di righe inserite da una transazione
- 12. Come posso ottenere sessionId da una richiesta?
- 13. php ottenere il numero da una stringa
- 14. C#: come posso recuperare la descrizione di una cartella?
- 15. Ottenere una nuova selezione in un GtkTreeView durante il segnale
- 16. Come ottenere un valore da una cella di un dataframe?
- 17. Come posso ottenere un java.io.InputStream da una java.lang.String?
- 18. Come posso ottenere una directory da un Uri
- 19. Come posso ottenere un indirizzo MAC da una richiesta HTTP?
- 20. Come posso ottenere un primo elemento da una lista ordinata?
- 21. Come posso ottenere il numero di record interessati da una stored procedure?
- 22. Ottenere una descrizione per il codice di stato HTTP
- 23. Come posso ottenere un ITextBuffer da EnvDTE.Window?
- 24. Come posso ottenere un numero casuale dal rumore atmosferico?
- 25. Ottenere un numero fisso di articoli da un generatore
- 26. come posso ottenere il numero di frame al secondo da un file GIF?
- 27. Come posso ottenere il punto di codice Unicode rappresentato da un numero intero in Swift?
- 28. Come ottenere un numero specifico di elementi casuali da una raccolta in Smalltalk?
- 29. Come scrivere un metodo di descrizione appropriato per una classe?
- 30. Come posso ottenere l'ultima cartella da una stringa di percorso?
Grazie: http://tinyurl.com/d4z9ev La pagina man GNU, che dice "Questa funzione non fa parte di nessuno standard", ha ovviamente bisogno di essere aggiornata. –
@Norman: una pagina 'man' deve essere aggiornata? Eresia! Saluti. –