Debian: Inicie o Xvfb com o script systemd e envie para o background

1

Estou tentando escrever um script systemd que inicie o Xvfb em segundo plano.

Fazer isso no console não é problema, é claro, com "&" anexado.

Mas eu tentei escrever um script systemd e quando estou iniciando manualmente com

service xvfb start

parece que nunca é enviado para o segundo plano, pois nunca há um prompt após executar este comando.

Este é o script:

[Unit]
Description=Xvfb
After=tomcat.service

[Timer]
# Time to wait after booting before we run first time
OnBootSec=1min

[Service]
Type=forking
User=test
Group=test

ExecStart=/usr/bin/Xvfb :99
ExecStop=/bin/kill -15 $MAINPID

[Install]
WantedBy=multi-user.target

Eu preciso talvez usar outro tipo?

    
por StephanM 31.08.2017 / 14:30

1 resposta

3
Type=forking

É para processos que se baseiam e se baseiam - também conhecidos como daemons de estilo antigo. Isso faz com que o systemd espere para que o processo em segundo plano saia e mantenha o controle dos arquivos filho vis pid ou outros meios. Seu aplicativo nunca sai, então o systemd continua aguardando.

Em vez disso, você deve usar

Type=simple

para aplicativos que não se baseiam. Isso faz com que o daemon do systemd rastreie o processo, mas retorne imediatamente de systemctl de forma eficaz para você. Simple é o tipo padrão, então você pode omitir o Type flag se desejar.

    
por 31.08.2017 / 21:54