首頁 > 後端開發 > php教程 > ignore_user_abort(1) 且set_time_limit(0)然后设置了无限循环,如何终止呢?

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

WBOY
發布: 2016-06-23 14:20:29
原創
1314 人瀏覽過

本帖最后由 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进程不好找呀不是?
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板