作者:手机用户2502856555 | 来源:互联网 | 2023-05-20 07:48
服务单位是:
[Unit]
Description=test
After=syslog.target
After=network.target
[Service]
Type=forking
ExecStart=/bin/java -jar /home/ec2-user/test.jar
TimeoutSec=300
[Install]
WantedBy=multi-user.target
它开始正常1-4分钟.但后来它失败了:
tail/var/log/messages:
Feb 27 18:43:44 ip-172-31-40-48 systemd: Reloading.
Feb 27 18:44:06 ip-172-31-40-48 systemd: Starting test...
Feb 27 18:44:06 ip-172-31-40-48 java: 5.1.73
Feb 27 18:44:06 ip-172-31-40-48 java: Starting the internal [HTTP/1.1] server on port 8182
Feb 27 18:49:06 ip-172-31-40-48 systemd: test.service operation timed out.Terminating.
Feb 27 18:49:06 ip-172-31-40-48 systemd: test.service: control process exited, code=exited status=143
Feb 27 18:49:06 ip-172-31-40-48 systemd: Failed to start test.
Feb 27 18:49:06 ip-172-31-40-48 systemd: Unit test.service entered failed state.
systemctl status test.service(重启时 - 保持激活模式):
test.service - Setsnew
Loaded: loaded (/etc/systemd/system/test.service; enabled)
Active: activating (start) since Sun 2015-03-01 14:29:36 EST; 2min 30s ago
Control: 32462 (java)
CGroup: /system.slice/test.service
systemctl status test.service(失败后):
test.service - test
Loaded: loaded (/etc/systemd/system/test.service; enabled)
Active: failed (Result: exit-code) since Fri 2015-02-27 18:49:06 EST; 18min ago
Process: 27954 ExecStart=/bin/java -jar /home/ec2-user/test.jar (code=exited, status=143)
在命令行中运行jar时它工作得很好.
尝试更改jar位置,因为我认为这是一个权限问题
selinux已关闭
我怎么能解决这个问题所以我可以在启动时启动jar?还有其他选择吗?(RHEL7不包含服务命令)
1> Michael Hamp..:
您创建了服务类型forking
,但此服务不会分叉.它只是直接运行.因此,systemd等了五分钟让程序自己守护,它从来没有.这种服务的正确类型是simple
.
您还禁用了SELinux,这是您应该解决的另一个问题.