Closed dragon-dan closed 3 months ago
alone 模式运行应该没有问题的,我测试时一直这么用的。
代码全回退干净确实可以 ./ 运行, 我想在线程退出的时候this->threads_pool(); 输出下线程池的信息, 结果linux上执行有问题。 测试环境我想后台运行便于开发调试 nohup直接就崩了,正在尝试tmux或者screen能不能后台挂起来。
试了下tmux能挂起来,那就先不用nohup了。
thread_on_exit 不能打印线程池信息,那就换个地方打印,先绕过去了,先能用起来就行
在模板项目代码基础上增加了一个接口,然后调试运行 使用run_alone方式运行调试,windows下表现正常。
然后编译了linux版本在测试环境运行。 ./httpserver 命令启动正常,调用接口正常。 5分钟之后再尝试调用,接口不通,一直转圈圈。 新开启终端检查进程和端口占用,httpserver依然存活并占用着端口,但不能提供服务。 (反复尝试发现,不停发送请求,服务就一直可以用,连续点击十几分钟都很正常,不请求接口静置几分钟就不能再用了)
怀疑是自己写的代码有问题,尝试把新增代码全部注释,重新编译运行情况一样。
猜测后台运行可能会正常,nohup ./httpserver 1>/dev/null 2>&1 & 命令启动,无法启动成功。 (反复尝试nohup方式都不能启动。增加日志打印观察,走到run_alone 进程就没了。)
总结问题两个: 1)./ 方式启动刚开始功能正常, 过一会就接口不通
2)nohup方式无法启动
配置如下:
正式环境后续可以逐步搭建acl_master 管理运行,测试环境使用者众多资源有限,希望能简单点一直运行