Sources
Delphi Russian Knowledge Base
DRKB - это самая большая и удобная в использовании база знаний по Дельфи в рунете, составленная Виталием Невзоровым

Как перехватывать kernel-signals?

01.01.2007
program TestSignals; 
 
{$APPTYPE CONSOLE}
 
uses
 
Libc;
 
var
  bTerminate
: Boolean;
 
procedure
SignalProc(SigNum: Integer); cdecl;
begin
 
case SigNum of  
    SIGQUIT
:  
     
begin
       
WriteLn('signal SIGQUIT');
        bTerminate
:= true;
     
end;
    SIGUSR1
: WriteLn('signal SIGUSR1');
   
else
     
WriteLn('not handled signal');
 
end;
  signal
(SigNum, SignalProc); // catch the signal again
end;
 
begin
  bTerminate
:= false;
 
  signal
(SIGQUIT, SignalProc); // catch the signal SIGQUIT to procedure SignalProc
  signal
(SIGUSR1, SignalProc); // catch the signal SIGUSR1 to procedure SignalProc
 
  repeat  
    sleep
(1);
 
until bTerminate;
end.

Взято с сайта https://www.swissdelphicenter.ch/en/tipsindex.php