어떻게 명령 줄에서 CTRL + C을 PHP로 처리 할 수 있습니까? Windows에서 Pcntl_*
기능이 작동하지 않습니다.Windows의 PHP CLI : Ctrl-C 명령을 처리 하시겠습니까?
답변
매우 오랜 시간이 걸리는 명령 줄을 통해 PHP에서 작업을 실행하려는 경우 배지로 구성하고 이미 수행 한 작업을 추적하려고합니다.
이제 전체 목록을 처리 한 후에뿐만 아니라 각 배지를 처리하고 (예 : 처리 한 다음 XML 파일에 저장) 모든 배지를 처리 할 수 있습니다. 중간에 충돌/중지하면 하나의 배지 만 취소되며 모든 배지는 취소되지 않습니다.
각 배지 뒤에서 현재 위치를 저장하면 스크립트가 충돌하거나 중지되었을 때 쉽게 다시 시작할 수 있습니다.
이제 스크립트가 실행 중인지 확인하기 위해 OS 프로세스 목록을 확인한 경우 충돌이 발생하여 이미 실행 중이 아닌 경우 X 분마다 스크립트를 시작하는 cron 작업을 작성할 수 있습니다. 그래서
, TL; DR
작은 배지에서- 처리 작업을 마지막으로 성공적으로 처리 된 배지 이미 모두가 행복 할 때까지
- 는 지속적으로 스크립트를 시작 시작 에서 프로세스를 실행하기위한
- 확인의
- 저장 위치 !
그렇지만 작은 명령 행 작업에는 PHP가 좋지만 큰 작업이 있으면 다른 것이 더 적합 할 수 있습니다. 오랫동안 안정적으로 작동 할 수 있는지 확인하고 진행 상황을 보여줄 수있는 방법이 있는지 확인하십시오. 아마 최소의 GUI를 가진 작은 C# 응용 프로그램.
그게 당신이 찾고있는 CtRL + C 해결책이 아니지만 그것은 작동 해결책입니다. PHP가 프로세스 중단을 처리 할 수 있는지 의심 스럽습니다! 당신은 "register_shutdown_function"을 가지고 행운을 시험해 볼 수도 있습니다. – ToBe
글쎄, pcntl_signal이 있긴하지만 그건 유닉스 시스템에만 해당되는 것입니다. –
- 1. PHP CLI - 어떤 명령을 사용해야합니까?
- 2. Crontab과 PHP-Cli에서 PHP 명령을 사용 하시겠습니까? (Codeigniter)
- 3. PHP CLI 스크립트 보호하기
- 4. 선택할 필요없이 매크로 및 CtrlC
- 5. PHP CLI SAPI를 사용하는 PHP 기반 서버 SAPI
- 6. php system() 명령을 통해 여러 시스템 명령을 백그라운드에서 실행 하시겠습니까?
- 7. PHP CLI vs PHP WEB
- 8. PHP : PHP에서 쉘 명령을 실행 하시겠습니까?
- 9. PHP : 명령을 실행 한 다음 계속 하시겠습니까?
- 10. PHP : ldo 명령을 sudo로 실행 하시겠습니까?
- 11. Windows의 Memcache PHP 확장
- 12. PHP cli 세션 경고
- 13. PHP CLI 버전 문제
- 14. Php-cli less resoult
- 15. php cli no apache?
- 16. php-cli 속도 향상
- 17. Windows의 cygwin에서 shutdown 명령을 실행하는 방법
- 18. 파일에 명령을 전달 하시겠습니까?
- 19. Windows CLI : 다른 명령에서 명령을 실행하십시오.
- 20. 라우터 CLI 명령을 MIB 작업 시퀀스로 변환
- 21. PHP 응용 프로그램에서 PHP CLI 스크립트 실행
- 22. PHP 스크립트에서 색상화된 명령을 실행하십시오.
- 23. vim에서 Windows의 깜박이는 명령 프롬프트를 중지 하시겠습니까?
- 24. PHP 내에서 Doctrine 2 CLI 명령
- 25. 같은 페이지에서 PHP 폼을 처리 하시겠습니까?
- 26. .html을 .php (lighttpd)로 처리 하시겠습니까?
- 27. CLI 응용 프로그램을 제어 할 PHP WebGUI
- 28. 실행중인 PHP cli 스크립트 폴링
- 29. PHP CLI 용 IDE가 있습니까?
- 30. PHP CLI 시간 초과 문제
달성하려는 목표는 무엇입니까? –
테스트 할 Windows가 없습니다. ['SetConsoleCtrlHandler'] (http : // msdn.)와 함께 ['w32api_register_function'] (http://www.php.net/manual/en/function.w32api-register-function.php) microsoft.com/en-us/library/windows/desktop/ms686016(v=vs.85).aspx), 그러나 그것은 여기에 격렬하게 추측하고 있습니다. – Wrikken
@ 대각리 방해 할 때 뭔가 할 일이 필요합니다. 예를 들어, 종료하기 전에 in-memory xml dom을 파일에 씁니다. – x74x61