启动 im_init.php,init.php · ImDong/Swoole-Reload-Demo - Gitee.com

/**

* Swoole 热更新功能 简单示例

*

* @author 青石

* @copyright Swoole Reload Demo 2017-4-30 09:47:10

*/

//**** 启动时配置 ****//

// pid保存文件名

define('RUN_PID_FILE', '/var/run/swoole_reload_demo.pid');

// 定义根目录

define('APP_ROOT', dirname(__FILE__) . '/');

// 日志文件目录

define('LOG_PATH', APP_ROOT . 'logs/');

// 设置调试模式 先定义等下写静态

$is_debug = true;

//**** 运行前判断 单例模式 ****//

// 判断是否 cli 运行

if(php_sapi_name() != 'cli') die('Please use cli Mode to Start!');

// 判断是否已经运行

if(file_exists(RUN_PID_FILE)){

// 判断进程是否存在

$run_pid = file_get_contents(RUN_PID_FILE);

if(file_exists("/proc/{$run_pid}/")){

die("is Runing, pid: {$run_pid}\n");

}

}

// 保存当前进程pid 感觉用不到

$run_pid = posix_getpid();

file_put_contents(RUN_PID_FILE, $run_pid) || die("save pid File Error.\n");

printf("Run Pid: %s\n", $run_pid);

//**** 运行前初始化 ****//

// 判断是否传递后台运行命令

$isRun = !empty($argv['1']) && $argv['1'] == 'start';

// 判断是否传入日志文件名

if(empty($argv['2'])){

// 判断日志文件夹是否存在

file_exists(LOG_PATH) || mkdir(LOG_PATH);

$log_file = sprintf(LOG_PATH . '/%s_%s.log', date('Ymd'), $run_pid);

} else{

$log_file = $argv['2'];

}

// 根据运行情况设置调试模式

define('IS_DEBUG', !$isRun && $is_debug );

//**** 启动进程 ****//

// 引入进程文件

require 'demoServer.class.php';

// 启动服务器

$server = new Demo_Server($isRun, $log_file);

//**** 结束前处理 ****//

// 删除pid文件

unlink(RUN_PID_FILE);

// 输出结果

echo "Process Exit";

一键复制

编辑

Web IDE

原始数据

按行查看

历史

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值