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