Предоставляет ли стандарт POSIX или другой стандарт C способ восстановления значимого сообщения из номера сигнала таким же образом, что strerror()
позволяет восстановить сообщение от errno
? Библиотека Gnu C имеет strsignal()
, но, если возможно, мне хотелось бы что-то портативное для BSD и других Unix-вариантов.Как я могу получить удобочитаемое описание из номера сигнала?
ответ
Да, интересно, существует стандартный способ получения строкового сообщения из сигнала в POSIX. Это, совершенно случайно, strsignal()
. От POSIX.1-2008:
Функция strsignal() должна отображать номер сигнала в signum в строку, определенную реализацией, и возвращает указатель на нее. Он должен использовать тот же набор сообщений, что и функция psignal().
Окружающая среда, которая не предоставляет вам эту функцию, не совместима с POSIX. Хотя относительно новый (выпуск 7 вышел в 2008 году), у меня есть справочная страница для strsignal()
по адресу Mac OS X, так что это хороший знак.
Внешне определенный массив sys_siglist
содержит описания сигналов для каждого номера сигнала и является стандартной проблемой для BSD.
#include <signal.h>
extern const char *const sys_siglist[];
+1 Нестандарт сам по себе, но полезный и наиболее часто встречающийся. – pilcrow
- 1. Как я могу получить описание репо GitHub?
- 2. Как я могу получить описание документа Google?
- 3. Как я могу получить описание ResponseCode HttpURLConnection?
- 4. Как я могу получить описание из продукта woocommerce?
- 5. Как получить удобочитаемое Android версии ОС
- 6. Как я могу получить индивидуальные номера из четырехзначного числа?
- 7. Как я могу получить номера строк из css?
- 8. Описание сигнала с использованием математической формулы
- 9. Как я могу получить контекст выполнения в обработчике сигнала?
- 10. Как я могу получить мощность сигнала WLAN с помощью Python?
- 11. Как я могу получить описание таблиц с Azure SQL Database
- 12. я могу получить значение строки из номера типа
- 13. Могу ли я получить Java Socket из номера дескриптора файла?
- 14. Как я могу получить описание расширения файла через CFileDialog
- 15. Как я могу получить описание работы в своем java-коде?
- 16. Как я могу получить описание таксономии типа сообщения?
- 17. Как я могу получить Roomattributes Описание который принадлежит Комнаты SQL
- 18. Как я могу получить описание ошибки при неудачном выполнении задания?
- 19. Как я могу упростить это описание python
- 20. Как я могу увидеть имя сигнала, полученного от ребенка?
- 21. Как я могу получить CSL-файл для последовательного номера библиографии?
- 22. Как получить «старое значение» из сигнала ReactiveCocoa?
- 23. Как я могу получить объекты json без номера объекта?
- 24. Как я могу добавить номера hexadicimal
- 25. Могу ли я получить описание класса или метода программно?
- 26. Невозможно получить описание из XML
- 27. Как я могу получить формат этого номера в PHP?
- 28. Как я могу получить сообщение для номера ошибки @@?
- 29. Как я могу получить все номера отслеживания заказов в Magento?
- 30. Как я могу получить название месяца от номера месяца
Спасибо: http://tinyurl.com/d4z9ev На странице руководства GNU, в которой говорится: «Эта функция не является частью какого-либо стандарта», очевидно, нуждается в обновлении. –
@Norman: страница 'man' нуждается в обновлении? Ересь! Приветствия. –