免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5699 | 回复: 8
打印 上一主题 下一主题

怎么一直运行php角本 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-12-28 20:58 |只看该作者 |倒序浏览
如何让php角本一直在运行
写了一个死循球的php角本
用ssh连接执行php x.php后,x.php角本运行,可是ssh一断开x.php脚本就停了
我在/etc/profile文件最后加上
php x.php
让他开机后自动一直运行,行不行?

论坛徽章:
59
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
2 [报告]
发表于 2010-12-28 21:10 |只看该作者
你想干什么。搞破坏。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
3 [报告]
发表于 2010-12-28 22:29 |只看该作者
如何让php角本一直在运行
写了一个死循球的php角本
用ssh连接执行php x.php后,x.php角本运行,可是ssh一断 ...
qq22049023 发表于 2010-12-28 20:58
不行。

论坛徽章:
0
4 [报告]
发表于 2010-12-29 08:17 |只看该作者
尝试使用nohup命令运行之。

论坛徽章:
34
亥猪
日期:2015-03-20 13:55:11戌狗
日期:2015-03-20 13:57:01酉鸡
日期:2015-03-20 14:03:56未羊
日期:2015-03-20 14:18:30子鼠
日期:2015-03-20 14:20:14丑牛
日期:2015-03-20 14:20:31辰龙
日期:2015-03-20 14:35:34巳蛇
日期:2015-03-20 14:35:56操作系统版块每日发帖之星
日期:2015-11-06 06:20:00操作系统版块每日发帖之星
日期:2015-11-08 06:20:00操作系统版块每日发帖之星
日期:2015-11-19 06:20:00黄金圣斗士
日期:2015-11-24 10:43:13
5 [报告]
发表于 2010-12-29 16:19 |只看该作者
俄,放到 rc.local 里?

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
6 [报告]
发表于 2010-12-29 20:43 |只看该作者
放到 /etc/rc.d/rc.local里面吧,在命令后面加&放到后台运行

论坛徽章:
0
7 [报告]
发表于 2010-12-30 09:36 |只看该作者
放后台去  
/usr/local/php/bin/php  xxx.php &

论坛徽章:
0
8 [报告]
发表于 2011-08-16 00:43 |只看该作者
回复 7# 只是彼岸花
不好意思,这种做法是错误的。 即使放到后台执行,当客户端断开,还是会断掉.
基于你的需求,有两种解决方法,
一种就是在linux下使用nohup /your/php/path/php xxx.php &来执行你的php文件。这样可以防止当你关闭终端时,也挂起了xxx.php
另一种是创建守护进程,使用php的pcntl系列函数可以实现
  1. <?php
  2. /**
  3. * 测试使用PHP创建守护京进程
  4. */
  5. $pid = pcntl_fork();
  6. if($pid == -1){
  7.         return false;#fork子进程失败
  8. }else if($pid > 0){
  9.         usleep(500);#父进程退出
  10.         exit();
  11. }

  12. #子进程
  13. chdir("/");
  14. umask(0);
  15. $sid = posix_setsid();
  16. if(!$sid){
  17.         return false;#创建新回话失败
  18. }
  19. for($i=1;$i<=100;$i++){

  20.         sleep(1);
  21.         error_log($i.PHP_EOL,3,'hgy.log');
  22. }
复制代码
其中php需要支持pcntl扩展,具体安装方法可以百度下。

论坛徽章:
1
15-16赛季CBA联赛之北京
日期:2019-08-29 13:55:52
9 [报告]
发表于 2011-08-17 10:10 |只看该作者
用screen 命令
执行php x.php后,x.php角本运行 之后ctrl+a  d 退出屏幕
就不会当客户端断开,会断掉.  想再次查看运行的情况,用screen -r 可以查看
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP