Tôi có một kịch bản chạy trên nền của máy chủ Linux của tôi và tôi muốn bắt tín hiệu như khởi động lại hoặc bất cứ điều gì có thể giết chết kịch bản này và thay vào đó lưu bất kỳ thông tin quan trọng trước khi thực sự thoát.Làm cách nào để nhận tín hiệu KILL hoặc HUP hoặc Người dùng hủy?
Tôi nghĩ hầu hết những gì tôi cần bắt là SIGINT, SIGTERM, SIGHUP, SIGKILL.
Làm cách nào để nắm bắt bất kỳ tín hiệu nào trong số những tín hiệu này và thực hiện chức năng thoát nếu không tiếp tục thực hiện bất kỳ chức năng nào đang thực hiện?
pseudo code 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 code 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