2012-07-14 2 views
0

내 (느린) 프로세스를 중지시키는 문제가 있습니다. 나는 다음과 같은 버튼이있는 PHP 페이지를 사용하여 내 배경 느린 과정을 시작 : 프로세스가 중지 1.5 일 후에 어떤 점에서bash 스크립트 시간 종료

<form id="trial" method="post" action=""><input name="trial" value="Start!" type="submit"> 
<?php 
    set_time_limit(0); 
    if (isset($_POST['trial'])) { 
     system("/srv/www/cgi-bin/myscript.sh"); 
    } 
?> 

, 나는 매우 높은 숫자를 삽입 php.ini 파일 및 아파치 설정 파일을 수정 한 timeout 지시문에서 작동하지 않거나 myscript.sh를 중지시키는 다른 프로세스가있는 것 같습니다. 제안 사항이 있습니까? 덕분에 !

+2

1.5 일? 당신은 뭐 해요? –

+0

이 페이지를 브라우저에서 실행하고 있습니까? – Sathishkumar

+0

예 .. 브라우저에서 .. – Tiutto

답변

0

난 당신이 게시물을 기반으로 SSH를 통해 서버에 액세스 할 수 있으리라 믿고있어. 진짜 목표는 지속적으로 실행하는 스크립트를 얻을 경우

, 왜 로그인하지

nohup myscript.sh 

만큼 스크립트가 작동, 그것은 당신이 닫은 후에 할 필요가있는 한 계속 실행됩니다 터미널.

확인

는 스크립트가 실패한 이유를 확인하려면 로그, 당신은 확실히 /var/log/kern.log/var/log/syslog을 확인 할 수 있습니다. 스크립트 또는이 포함 된 항목을 찾습니다. 스크립트가 커널에 의해 강제 종료 (한계 초과)되거나 런타임에 오류가 발생할 수 있습니다.

+0

좋은 생각입니다. 시도해 보겠습니다. – Tiutto

+1

로그에 스크립트가 있음을 발견했습니다. 오류 .. 감사합니다! – Tiutto

0

스크립트를 계속 실행하면 시스템에 30 분마다 Cron을 설정하기 때문에 문제가 발생합니다.

set_time_limit(30); 
system("/srv/www/cgi-bin/myscript.sh"); 

크론 설정 :

30 * * * * php /path/to/your/php/file.php 
+0

나는 cron .. – Tiutto

+0

을 사용할 수 없으므로 브라우저를 사용하여 스크립트를 실행하고 있습니다. 브라우저 자동 페이지로드 플러그인을 설치하고 5 초마다 페이지를 실행하십시오. broswer에서 코드가 중지되면 5 초 후에 코드가 자동으로 다시로드됩니다. – Sathishkumar

+0

스크립트를 다시 시작하거나 (다시 cron으로 실행하지 마십시오.) 정확하게 시작/종료해야합니다. – Tiutto