¿El estándar POSIX u otro estándar C proporcionan una forma de recuperar un mensaje significativo de un número de señal, de la misma manera que strerror()
hace posible recuperar un mensaje del errno
? La biblioteca Gnu C tiene strsignal()
, pero si es posible, me gustaría algo portátil para BSD y otras variantes de Unix.¿Cómo puedo obtener una descripción legible para humanos a partir de un número de señal?
Respuesta
Sí, curiosamente, hay una forma estándar de obtener un mensaje de cadena de una señal en POSIX. Es, por coincidencia, strsignal()
. Desde POSIX.1-2008:
La función strsignal() asignará el número de señal en signum a una cadena definida por la implementación y le devolverá un puntero. Utilizará el mismo conjunto de mensajes que la función psignal().
Un entorno que no le proporciona esta función no es compatible con POSIX. Aunque es relativamente nuevo (el número 7 salió en 2008), tengo una página man para strsignal()
en Mac OS X, por lo que es una buena señal.
La matriz definida externamente sys_siglist
contiene las descripciones de las señales para cada número de señal, y es un problema estándar en BSD.
#include <signal.h>
extern const char *const sys_siglist[];
+1 No es estándar per se, pero es útil y se encuentra más comúnmente. – pilcrow
- 1. Cron a cadena legible para humanos
- 2. ¿Cómo puedo obtener un nombre de zona horaria legible para humanos en Python?
- 3. Objective-C NSFilePosixPermissions a NSString legible por humanos
- 4. ¿Cómo convertir xsd a documentación legible para humanos?
- 5. llvm ir a lenguaje de origen legible para los humanos?
- 6. Convirtiendo CMTime a tiempo legible para humanos en Object-C
- 7. PLCrashReporter: Creando una stacktrace legible por humanos
- 8. ¿Cómo puedo abrir archivos .class de Java de una manera legible para los humanos?
- 9. Usando Html.LabelPara visualizar una etiqueta legible para humanos?
- 10. códigos de error Boost descripción legible
- 11. C++ IP Address forma legible por humanos
- 12. Salida XML legible por humanos de Scala?
- 13. formato a un objeto de fecha para visualizar una fecha legible por humanos
- 14. Intervalo de tiempo legible por humanos automático
- 15. Db2 formateador de error legible por humanos
- 16. ¿Cómo obtengo un tamaño de archivo legible para humanos en una abreviatura de bytes usando .NET?
- 17. Necesito un formato de documento legible por humanos, pero analizable
- 18. Convertir milisegundos a lapso de tiempo legible por humanos
- 19. marca de hora a formato legible por humanos
- 20. convertir microsegundos en un tiempo legible por humanos
- 21. NSKeyedArchiver escribir XML (u otra legible para humanos)?
- 22. Convierta cadena de octetos snmp a formato de fecha legible para humanos
- 23. CronExpressions: ¿alguna biblioteca que exista para generarlas/convertirlas a una forma legible para humanos?
- 24. Convertir una marca de tiempo Unix de una fecha legible por humanos en PHP?
- 25. ¿Hay utilidades o bibliotecas genéricas para convertir volcados hexadecimal en un formato legible para humanos?
- 26. cadenas de fecha Python diferencia de fechas legible por humanos
- 27. Clase ObjC/Cocoa para convertir el tamaño a una secuencia legible por humanos?
- 28. iphone ¿cómo puedo obtener el nombre del mes a partir del número de mes?
- 29. ¿Cómo puedo añadir una descripción para un DataGridTextColumn
- 30. ¿Cómo puedo buscar datos sobre un libro a partir de su número de código de barras?
Gracias: http://tinyurl.com/d4z9ev La página man de GNU, que dice "Esta función no es parte de ningún estándar", obviamente necesita una actualización. –
@Norman: ¿una página de 'hombre' necesita ser actualizada? ¡Herejía! Aclamaciones. –