У меня есть скрипт, работающий на фоне моего linux-сервера, и я хотел бы перехватить такие сигналы, как перезагрузка или все, что могло бы убить этот скрипт, и вместо этого сохранить любую важную информацию перед выходом.
Я думаю, что большинство из того, что мне нужно поймать, это SIGINT, SIGTERM, SIGHUP, SIGKILL.
Как перехватить любой из этих сигналов и заставить его выполнить функцию выхода, в противном случае продолжать выполнять то, что он делал?
псевдоперл:
#!/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);
}
псевдо-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);
}
?>