Linux服务可以';t在/etc/ld.so.conf.d中加载库路径
我有一个Linux服务 当我启动它时,使用service start或start inLinux服务可以';t在/etc/ld.so.conf.d中加载库路径,linux,service,library-path,Linux,Service,Library Path,我有一个Linux服务 当我启动它时,使用service start或start ininit.d。它无法加载存储在/etc/ld.so.conf.d/中的配置。因此,此服务无法启动在/etc/ld.So.conf.d/中加载库路径的某些进程 但是当我在shell中运行这个服务脚本时,它工作得很好 如何在/etc/ld.so.conf.d/中加载库路径 非常感谢。您最近是否以root用户身份运行了ldconfig?有一个共享库缓存由该程序更新,如果您更新了/etc/ld.so.conf.d中的文
init.d
。它无法加载存储在/etc/ld.so.conf.d/
中的配置。因此,此服务无法启动在/etc/ld.So.conf.d/
中加载库路径的某些进程
但是当我在shell中运行这个服务脚本时,它工作得很好
如何在/etc/ld.so.conf.d/
中加载库路径
非常感谢。您最近是否以root用户身份运行了
ldconfig
?有一个共享库缓存由该程序更新,如果您更新了/etc/ld.so.conf.d
中的文件而未运行ldconfig
,缓存数据可能已过期。否,您必须在编辑/etc/ld.so.conf
或/etc/ld.so.conf.d
中的一个文件后运行ldconfig
。在此之后,假设您不更改这些文件,通常不需要重新运行ldconfig
。我在服务myserv重新启动之前运行ldconfig。它仍然不能正常运行。我必须LD\u LIBRARY\u PATH=$LD\u LIBRARY\u PATH:/usr/local/myprog/lib导出LD\u LIBRARY\u PATH
在这之后,它可以执行well,那很简单。将/usr/local/myprog/lib
添加到/etc/ld.so.conf.d
中的一个新文件中(可能myprog.conf
,如果您的程序真的被称为myprog
),然后运行ldconfig
,然后重试。另外,再次检查/etc/ld.so.conf
是否包含这一行:包括/etc/ld.so.conf.d/*.conf>。没有它,/etc/ld.so.conf.d
中的任何内容都不会被加载。正如您所说,我已经设置了/etc/ld.so.conf
。但它不起作用。我必须在开始脚本中导出路径。我认为这可能是由于服务负载环境有一些限制造成的。我将尝试搜索一些关于服务和环境的文档。非常感谢。[问题是服务去除了所有环境变量,但术语、路径和语言]()有用的链接可以帮助解释为什么服务不工作。