zoukankan      html  css  js  c++  java
  • OS-Linux-后台启动与前台启动导致的差异故障-文件加载异常

    OS-Linux-后台启动与前台启动导致的差异故障-文件加载异常

    故障描述:
    linux系统的硬件网关,可以设置启动脚本实现重启时自动运行脚本内内容。
    linux端c++程序,多进程,有共享库(.so)。架构简化如下:
    软件看门狗进程、管理进程、功能进程。
    脚本启动看门狗程序,看门狗内有心跳监听,可以接收其他进程的心跳,若心跳检测失败,执行对应脚本重启进程。
    现象:
    网关配置脚本通过追加“&”实现后台启动,但是每次后台启动,看门狗进程都无法正确接收管理进程的心跳,通过打印信息和代码功能屏蔽等方式可以发现,有一个动态库的接口每次调用时无法返回,库内的打印信息也未输出。
    奇怪的是,同一个脚本,前台执行时并未出现相应问题,整体运行正常。

    结论:
    linux的/usr/lib下存在同名动态库。(库文件进行过修改,现用的库文件增加接口,故障接口正是新增接口)
    即,后台脚本执行时,由于系统环境变量的原因,并未使用当前目录下库文件。

  • 相关阅读:
    散列函数之单散列算法
    NET 使用 RabbitMQ
    leetCode
    Swift 1
    C#并发集合
    多进程与多线程1
    开发编译器
    APUE1
    微服务架构
    ExceptionHandlerMiddleware中间件如何呈现“定制化错误页面”
  • 原文地址:https://www.cnblogs.com/yongchao/p/13277219.html
Copyright © 2011-2022 走看看