2017-11-04 10 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、Aw!それはとても悲しい男です。他の方法はありますか? – Defyleiti

答えて

1

システムの細部によっては、poweroffshutdownに電話をかけます。これは、おそらくプログラムからの呼び出しに適しています。 shutdownは、一定期間後にシステムを停止させるよう指示することができます。

シャットダウンプロセスが送信するSIGTERM信号に応答してメールを送信することができます。利用可能なリソースはたくさんあります。電子メールを送信するために必要なプロセスは、すでに途絶えている可能性が常にあります。

さらに、依存関係の順序を入れ替えることができます。shutdownに合理的な猶予期間を付けて呼び出し、電子メールを送信し、送信に失敗した場合はシャットダウンをキャンセルします。

+0

こんにちは。それは素晴らしい考えです。洞察に感謝します。あなたはクールな男です。ありがとう。 – Defyleiti

関連する問題