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

Posted Cain@YC~

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OS-Linux-后台启动与前台启动导致的差异故障-文件加载异常相关的知识,希望对你有一定的参考价值。

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

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

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










以上是关于OS-Linux-后台启动与前台启动导致的差异故障-文件加载异常的主要内容,如果未能解决你的问题,请参考以下文章

安卓点击home键重启

(十四)硅谷外卖-后台应用(上)

手机和电脑的后台程序是否与前台程序同时运行 只是被前台覆盖了

Linux的作业控制

android 怎样启动后台服务

Centos进程作业管理与计划任务