Что означает SIGUSR1 в «killall -SIGUSR1 tint2»

Вы говорите о безразличном сравнении без учета регистра или полном нормализованном сравнении Unicode?

При тупом сравнении не будут найдены строки, которые могут быть одинаковыми, но не бинарными.

Пример:

U212B (ANGSTROM SIGN)
U0041 (LATIN CAPITAL LETTER A) + U030A (COMBINING RING ABOVE)
U00C5 (LATIN CAPITAL LETTER A WITH RING ABOVE).

Все они эквивалентны, но также имеют разные двоичные представления.

Тем не менее, Unicode Normalisation следует обязательно прочитать, особенно если вы планируете поддерживать хангыль, тайский и другие азиатские языки.

Кроме того, IBM в значительной степени запатентовала наиболее оптимизированные алгоритмы Unicode и сделала их общедоступными. Они также поддерживают реализацию: IBM ICU

3
задан 05.05.2020, 13:54

1 ответ

Команда kill действительно посылает сигнал процессу ... он немного неверно назван.

Команда

killall -SIGxxx name

отправит «сигнал» xxx процессу с именем «имя». Процесс в Unix может получать и обрабатывать набор сигналов для реагирования на внешние события. По умолчанию kill отправляет сигнал SIGTERM, который имеет (предопределенный) эффект изящного уничтожения процесса. (сигнал SIGKILL убьет процесс "жестоко", поэтому иногда вам нужно использовать команду killall -SIGKILL ...).

Некоторые процессы имеют жестко закодированное значение (например: HUP - разъединение и т. Д.) И иногда отправляются ядром. USR1 и USR2 являются определяемыми пользователем сигналами.

Вы даже можете легко сделать это в сценариях: если вы вставите в сценарий строку

trap "echo TRAPPED" USR1

, сценарий выведет «TRAPPED», когда вы отправите ему сигнал USR1 с помощью команды kill.

Таким образом, ответ на последний вопрос:

Очевидно, что программа «tint2» имеет код, который после получения сигнала USR1 перезагрузит свой файл конфигурации.

См., Например, http://unixhelp.ed.ac.uk/CGI/man-cgi?signal+7

1
ответ дан 05.05.2020, 13:55
  • 1
    Видьте в последний раз строку, добавленную как редактирование – pkamb 05.05.2020, 13:55
  • 2
    " Очевидно, " tint2" программа имеет код, который, после получения сигнала USR2, перезагрузит его файл " конфигурации; , кажется, то, что происходит, хотя USR2 должен быть USR1. – Earlz 05.05.2020, 13:56

Теги

Похожие вопросы