首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Systemctl:找不到Java!使用systemctl时

Systemctl:找不到Java!使用systemctl时
EN

Server Fault用户
提问于 2018-08-21 15:29:15
回答 1查看 2.8K关注 0票数 0

我使用CentOs 7.5.1804,服务有问题。当我用systemctl启动我的服务时,它会在消息中失败。

代码语言:javascript
复制
which: no java in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin)
Java not found!

在错误消息之后,我执行了一个

然后它又回来了

代码语言:javascript
复制
which: no java in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin)
Java not found!

但是,当我以用户应用程序的身份登录到系统时,我会收到java -version的反馈。

代码语言:javascript
复制
java version "1.8.0_161" 
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)

下面是我的服务片段,位于/etc/systemd/system中

代码语言:javascript
复制
[Service]
Type=forking
User=app
Group=app
ExecStart=/opt/div/ui/bin/service.sh -s start -t myserver
ExecStop=/opt/div/ui/bin/service.sh -s stop -t myserver
SuccessExitStatus=143
TimeoutStartSec=0
TimeoutStopSec=240
#install
[Install]
WantedBy=multi-user.target

我错过了什么?有什么建议吗?

EN

回答 1

Server Fault用户

发布于 2018-08-21 16:36:46

Systemd使用固定的搜索路径,并强烈鼓励对可执行文件使用完全路径。

来自systemd.exec手册页:

代码语言:javascript
复制
Systemd uses a fixed value of
       /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin.

最好的解决方案是在service.sh脚本中使用java可执行文件的完整路径。

票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/927367

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档