2017-11-04 68 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