Mam skrypt działający w tle mojego serwera linuksowego i chciałbym przechwycić sygnały takie jak restart lub cokolwiek, co zabiłoby ten skrypt i zamiast tego zapisz wszystkie ważne informacje zanim faktycznie wyjdę.Jak złapać sygnał KILL, HUP lub przerwania przez użytkownika?
Myślę, że większość tego, co potrzebuję złapać, to SIGINT, SIGTERM, SIGHUP, SIGKILL.
Jak złapać którykolwiek z tych sygnałów i zlecić wykonanie funkcji wyjścia, w przeciwnym razie należy wykonać to, co robił?
pseudo kod Perl:
#!/usr/bin/perl
use stricts;
use warnings;
while (true)
{
#my happy code is running
#my happy code will sleep for a few until its breath is back to keep running.
}
#ops I have detected an evil force trying to kill me
#let's call the safe exit.
sub safe_exit()
{
# save stuff
exit(1);
}
pseudo kod php:
<?php
while (1)
{
#my happy code is running
#my happy code will sleep for a few until its breath is back to keep running.
}
#ops I have detected an evil force trying to kill me
#let's call the safe exit.
function safe_exit()
{
# save stuff
exit(1);
}
?>
http://stackoverflow.com/questions/5180539/quick-perl-sigint-handler – daxim