Danke, Assarbat. Der Tip war (denke ich
) absolut richtig.
Habe aber noch das Problem, dass die App nicht wie gewünscht reagiert.
Das KILL -Signal lässt sich nicht umleiten (steht in der manpage) aber das
SIGTERM sollte gehen. Geht aber nicht! Oder fährt an der Stelle schon das Programm
runter und eine Messagebox wird unterdrückt??? Aber müsste es dann nicht wenigstens piepen?
Habe ich vielleicht "TermProcess" falsch deklariert oder eingebunden?
Könnte bitte jemand mal einen Blick drauf werfen?
Delphi-Quellcode:
unit Sig1;
interface
uses
LibC,
SysUtils, Types, Classes, Variants, QTypes, QGraphics, QControls, QForms,
QDialogs, QStdCtrls;
type
TForm1 =
class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
procedure TermProcess(Signal : Integer);
cdecl;
var
Form1: TForm1;
implementation
{$R *.xfm}
var SaveSigHandler : TSignalHandler =
nil;
procedure TermProcess;
begin
Beep;
Application.MessageBox('
Terminate','
Signal');
if @SaveSigHandler <>
nil then SaveSigHandler(Signal);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
SaveSigHandler:=signal(SIGTERM,TermProcess);
end;
end.