2015-02-28 14 views
6

zespół serwisowy:Systemd Service dla słoiku plik dostaje „Przekroczono limit czasu operacji” błąd po kilku minues lub pobyt w „tryb aktywacji”

[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 

zaczyna grzywny dla 1-4 minues. Ale później to się nie powiedzie:

tail/var/log/messages: status

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 test.service (podczas restarting- pozostaje w trybie aktywacji): Test na stan

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. serwis (po fail):

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) 
  • gdy bieg ning jar w linii poleceń działa dobrze.
  • próbował zmienić lokalizację jar, bo myślałem, że to problem uprawnienia
  • SELinux jest wyłączony

Jak mogę rozwiązać ten problem, więc mogłem rozpocząć słoik na starcie? istnieją jakieś alternatywy? (RHEL7 nie zawiera polecenia usługi)

Odpowiedz

16

Utworzono typ usługi forking, ale usługa ta nie rozwidla się. Po prostu działa bezpośrednio. W ten sposób systemd czekał pięć minut, aż program daemonizuje się i nigdy tego nie zrobił. Prawidłowy typ takiej usługi to simple.

Wyłączyłeś również SELinux, co jest kolejnym problemem, który powinieneś rozwiązać.

+0

To rozwiązało mój problem. Dzięki. – Omid1989

Powiązane problemy