Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux服务可以';t在/etc/ld.so.conf.d中加载库路径_Linux_Service_Library Path - Fatal编程技术网

Linux服务可以';t在/etc/ld.so.conf.d中加载库路径

Linux服务可以';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中的文

我有一个Linux服务

当我启动它时,使用service start或start in
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
。但它不起作用。我必须在开始脚本中导出路径。我认为这可能是由于服务负载环境有一些限制造成的。我将尝试搜索一些关于服务和环境的文档。非常感谢。[问题是服务去除了所有环境变量,但术语、路径和语言]()有用的链接可以帮助解释为什么服务不工作。