>  기사  >  백엔드 개발  >  ignore_user_abort(1) 且set_time_limit(0)然后设置了无限循环,如何终止呢?

ignore_user_abort(1) 且set_time_limit(0)然后设置了无限循环,如何终止呢?

WBOY
WBOY원래의
2016-06-23 14:20:291246검색

本帖最后由 zhoumengkang 于 2013-08-09 17:24:21 编辑


今天看手册上的ingore_user_abort()里面有这样的例子,的确可以无限执行下去。但是如果终止这个进程呢?呵呵,,手册上的例子中没有说。 不重启服务器的情况下。怎么找到那个进程,然后终止?
ignore_user_abort(0); // run script in background set_time_limit(0); // run script forever $interval=2; // do every 15 minutes... do{ 	$data = '1<br/>';	file_put_contents('./test.html',$data,FILE_APPEND);    sleep($interval); // wait 15 minutes }while(true); 

回复讨论(解决方案)

cli模式下

<?php$pid = getmypid();ignore_user_abort(0);set_time_limit(0);  $interval=200; do{     echo "$pid"; //获取pid    sleep($interval);}while(true);


kill pid

打错了,是

 ignore_user_abort(1); 

cli模式下

<?php$pid = getmypid();ignore_user_abort(0);set_time_limit(0);  $interval=200; do{     echo "$pid"; //获取pid    sleep($interval);}while(true);


kill pid 以后可以像你这样写,如果像我上面没有写getmypid呢。。。只能去linux去找啦?


cli模式下

<?php$pid = getmypid();ignore_user_abort(0);set_time_limit(0);  $interval=200; do{     echo "$pid"; //获取pid    sleep($interval);}while(true);


kill pid 以后可以像你这样写,如果像我上面没有写getmypid呢。。。只能去linux去找啦?

没有pid进程不好找呀不是?

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.