O Systemd elimina o serviço de início automático (xampp). Como evitar isso?

3

O serviço xampp.service não está sendo iniciado automaticamente, apesar de estar ativado. Parece que o systemd o está matando após o início bem-sucedido (?).

Ele está localizado em / etc / systemd / system / e contém o seguinte

[Unit]
Description=XAMPP

[Service]
ExecStart=/opt/lampp/lampp start

[Install]
WantedBy=multi-user.target

systemctl --failed retorna:

 UNIT          LOAD   ACTIVE SUB    DESCRIPTION
● xampp.service loaded failed failed XAMPP

systemctl status xampp.service retorna:

● xampp.service - XAMPP
   Loaded: loaded (/etc/systemd/system/xampp.service; enabled; vendor preset: disabled)
   Active: failed (Result: timeout) since Mo 2016-11-21 02:04:10 CET; 4min 56s ago
  Process: 459 ExecStart=/opt/lampp/lampp start (code=exited, status=0/SUCCESS)
 Main PID: 459 (code=exited, status=0/SUCCESS)

Nov 21 02:02:40 tangboshi lampp[459]: XAMPP: Starting Apache...ok.
Nov 21 02:02:40 tangboshi lampp[459]: XAMPP: Starting MySQL...ok.
Nov 21 02:02:40 tangboshi proftpd[600]: tangboshi - ProFTPD 1.3.4c (maint) (built Fri Aug 26 2016 11:19:40 CEST) standalone mode STARTUP
Nov 21 02:02:40 tangboshi lampp[459]: XAMPP: Starting ProFTPD...ok.
Nov 21 02:02:40 tangboshi proftpd[600]: tangboshi - ProFTPD killed (signal 15)
Nov 21 02:04:10 tangboshi systemd[1]: xampp.service: State 'stop-sigterm' timed out. Killing.
Nov 21 02:04:10 tangboshi systemd[1]: xampp.service: Killing process 576 (mysqld_safe) with signal SIGKILL.
Nov 21 02:04:10 tangboshi systemd[1]: xampp.service: Killing process 737 (mysqld) with signal SIGKILL.
Nov 21 02:04:10 tangboshi systemd[1]: xampp.service: Unit entered failed state.
Nov 21 02:04:10 tangboshi systemd[1]: xampp.service: Failed with result 'timeout'.
    
por Alex 21.11.2016 / 02:12

1 resposta

2

Não há informações suficientes aqui para ter certeza, mas suponho que lamp start execute os serviços de componentes individuais em segundo plano e saia quando todos forem iniciados. No entanto, o tipo de serviço padrão é simples, onde o processo iniciado pelo systemd deve permanecer em primeiro plano. Quando o script de início sai, a suposição é que o serviço morreu / saiu e os sistemas limpam os outros processos em execução nesse contexto. Se você adicionar Type=forking na seção de serviços, o systemd fará a coisa certa. Para obter mais detalhes, consulte a página do manual systemd.service

    
por 23.11.2016 / 04:30