Как преобразовать имя сигнала (строку) в код сигнала?

Я пишу программу, которая считывает имя сигнала (например, SIGSTOP, SIGKILL и т. Д.) Как строку из командной строки и вызывает системный вызов kill () для отправки сигнала . Мне было интересно, есть ли простой способ преобразовать строку в сигнальные коды (в signal.h).

В настоящее время я делаю это, написав свою собственную карту, которая выглядит примерно так:

signal_map["SIGSTOP"] = SIGSTOP;
signal_map["SIGKILL"] = SIGKILL;
....

Но писать это для всех сигналов утомительно. Итак, я искал более элегантный способ, если он существует.

7
задан vinodkone 9 August 2011 в 01:16
поделиться