systemd java 文件服务管理
systemd java file service managment
我有这个 java 文件,它必须使用以下命令执行,否则它默认为 ipv6 并且对我的用例有效无用
-jar Djava.net.preferIPv4Stack=true EdOwl-Springboot.jar
我尝试按照本指南进行操作:https://computingforgeeks.com/how-to-run-java-jar-application-with-systemd-on-linux/
但是使用这个显示:
root@edowl:~# systemctl status EdOwl-Springboot.service
● EdOwl-Springboot.service - EdowlSpringboot
Loaded: loaded (/etc/systemd/system/EdOwl-Springboot.service; disabled; vendor preset: enabled)
Active: activating (auto-restart) (Result: exit-code) since Tue 2022-02-22 11:28:26 UTC; 10s ago
Main PID: 186854 (code=exited, status=203/EXEC)
Tasks: 0 (limit: 614)
Memory: 0B
CGroup: /system.slice/EdOwl-Springboot.service
Feb 22 11:28:36 edowl.online systemd[1]: EdOwl-Springboot.service: Scheduled restart job, restart counter is at 125919.
Feb 22 11:28:36 edowl.online systemd[1]: Stopped EdowlSpringboot.
Feb 22 11:28:36 edowl.online systemd[1]: Started EdowlSpringboot.
Feb 22 11:28:36 edowl.online systemd[186888]: EdOwl-Springboot.service: Failed to execute command: No such file or directory
Feb 22 11:28:36 edowl.online systemd[186888]: EdOwl-Springboot.service: Failed at step EXEC spawning /bin/java: No such file or directory
Feb 22 11:28:36 edowl.online systemd[1]: EdOwl-Springboot.service: Main process exited, code=exited, status=203/EXEC
Feb 22 11:28:36 edowl.online systemd[1]: EdOwl-Springboot.service: Failed with result 'exit-code'.
服务文件如下:
[Unit]
Description=EdowlSpringboot
[Service]
WorkingDirectory=/home
ExecStart=/bin/java -Xms128m -Xmx256m -jar Djava.net.preferIPv4Stack=true EdOwl-Springboot.jar
Type=simple
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
文件位于 /home
目录
我确定是 exec start 行搞砸了,是否有必要说明:/bin/java -Xms128m -Xmx256m
还是我搞砸了其他东西?
欢迎提出建议干杯
JVM 参数 java.net.preferIPv4Stack
应该以 -D
为前缀,而不是 D
此外,正如其他人在评论中指出的那样,请检查您的 java 路径,它可能是 /usr/bin/java
。
因此,将命令更改为 /usr/bin/java -Xms128m -Xmx256m -jar -Djava.net.preferIPv4Stack=true EdOwl-Springboot.jar
我有这个 java 文件,它必须使用以下命令执行,否则它默认为 ipv6 并且对我的用例有效无用
-jar Djava.net.preferIPv4Stack=true EdOwl-Springboot.jar
我尝试按照本指南进行操作:https://computingforgeeks.com/how-to-run-java-jar-application-with-systemd-on-linux/
但是使用这个显示:
root@edowl:~# systemctl status EdOwl-Springboot.service
● EdOwl-Springboot.service - EdowlSpringboot
Loaded: loaded (/etc/systemd/system/EdOwl-Springboot.service; disabled; vendor preset: enabled)
Active: activating (auto-restart) (Result: exit-code) since Tue 2022-02-22 11:28:26 UTC; 10s ago
Main PID: 186854 (code=exited, status=203/EXEC)
Tasks: 0 (limit: 614)
Memory: 0B
CGroup: /system.slice/EdOwl-Springboot.service
Feb 22 11:28:36 edowl.online systemd[1]: EdOwl-Springboot.service: Scheduled restart job, restart counter is at 125919.
Feb 22 11:28:36 edowl.online systemd[1]: Stopped EdowlSpringboot.
Feb 22 11:28:36 edowl.online systemd[1]: Started EdowlSpringboot.
Feb 22 11:28:36 edowl.online systemd[186888]: EdOwl-Springboot.service: Failed to execute command: No such file or directory
Feb 22 11:28:36 edowl.online systemd[186888]: EdOwl-Springboot.service: Failed at step EXEC spawning /bin/java: No such file or directory
Feb 22 11:28:36 edowl.online systemd[1]: EdOwl-Springboot.service: Main process exited, code=exited, status=203/EXEC
Feb 22 11:28:36 edowl.online systemd[1]: EdOwl-Springboot.service: Failed with result 'exit-code'.
服务文件如下:
[Unit]
Description=EdowlSpringboot
[Service]
WorkingDirectory=/home
ExecStart=/bin/java -Xms128m -Xmx256m -jar Djava.net.preferIPv4Stack=true EdOwl-Springboot.jar
Type=simple
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
文件位于 /home
目录
我确定是 exec start 行搞砸了,是否有必要说明:/bin/java -Xms128m -Xmx256m
还是我搞砸了其他东西?
欢迎提出建议干杯
JVM 参数 java.net.preferIPv4Stack
应该以 -D
为前缀,而不是 D
此外,正如其他人在评论中指出的那样,请检查您的 java 路径,它可能是 /usr/bin/java
。
因此,将命令更改为 /usr/bin/java -Xms128m -Xmx256m -jar -Djava.net.preferIPv4Stack=true EdOwl-Springboot.jar