2017-11-04 71 views
0

如何在触发关机时执行功能?关机前执行功能

// need to make sure here that poweroff command is executed successfully before calling senEmail function 
$output = exec('poweroff', $output, $return); 
if (!$return) { 
    // command executed successfully 
    // now send email before poweroff completes its process 
    sendEmail(); 
} 

sendEmail()因为关机已经处理,所以没有触发。

+0

你不能。您可以在执行poweroff命令之前发送邮件。 –

+0

@ Karthikeyan.R.S,哦!这是如此可悲的人。有没有其他方法? – Defyleiti

回答

1

稍微取决于系统的细节,poweroff将调用shutdown,这可能是从您的程序调用更好的匹配。可以指示shutdown在一段时间后关闭系统。

您可以发送邮件以响应关机过程将发送的SIGTERM信号。这里有很多可用的资源。发送电子邮件所需的流程总是存在风险。

更好的是,您可以翻转依赖关系的顺序:拨打shutdown并设置合理的宽限期,尝试发送电子邮件,如果发送失败,则取消关闭。

+0

嗯..这是一个好主意。感谢您的洞察力。你很酷。谢谢。 – Defyleiti