Я использую Lucida Console в течение многих лет и никогда ничего не нахожу лучше.
Однако я попробовал несколько раз шрифты Consolas и просто - я предпочитаю Lucida Console.
Ответ зависит от реализации :). В Mac OS X (и FreeBSD) сигналы обрабатываются асинхронно - ядро находит поток, который не блокирует сигнал, и устанавливает флаг асинхронной системной ловушки для этого потока. В следующий раз, когда ядро планирует этот поток, оно обрабатывает ловушку (завершает процесс, игнорирует ловушку или при необходимости вызывает обработчик сигналов в пользовательском пространстве), а не организует обычное продолжение потока в пользовательском пространстве.
В Solaris реализация в чем-то похожа, хотя он также предлагает синхронные сигналы на основе аппаратных ловушек - синхронные сигналы доставляются потоку, который вызвал ловушку, в то время как асинхронные сигналы работают так, как описано выше.
Linux делает нечто подобное. Солярису (I '
The short answer is - yes, process get knowledge of a signal only on the next scheduled CPU timeslice.
How to know the process has received a signal - it may call sigprocmask(2).
Процесс P1 выполняется на ЦП 1, а процесс P2 выполняется на ЦП2, и теперь процесс P2 (с достаточными привилегиями) отправляет сигнал процессу P1. Будет ли этот сигнал доставлен на P1 прямо сейчас или он будет доставлен после того, как P1 по какой-то причине откажется от ЦП и снова будет перенесен через некоторое время ядром, а затем этот сигнал будет доставлен процессу P1.
Насколько i знать на последних ядрах linux выполнение P1 может быть приостановлено, когда P2 излучает сигнал, и сигнал будет доставлен немедленно. Может быть это верно только для сигналов в реальном времени