Eu criei um arquivo de serviço, mas é o meu primeiro.
Eu me pergunto o que poderia acontecer se eu colocasse um serviço mal escrito no /etc/systemd/system
diretório.
Meu sistema pode não reiniciar da próxima vez?
...Gostaria de testá-lo antes de colocá-lo lá.
[Unit]
Description=ecoemploi backend métier
After=network-online.target
[Service]
Type=simple
User=%i
Restart=no
ExecStart=/home/lebihan/dev/Java/comptes-france/metier-et-gestion/ApplicationMetierEtGestion/java \
--add-exports java.base/sun.nio.ch=ALL-UNNAMED \
--add-opens java.base/java.util=ALL-UNNAMED \
--add-opens java.base/java.nio=ALL-UNNAMED \
--add-opens java.base/java.lang=ALL-UNNAMED \
--add-opens java.base/java.lang.invoke=ALL-UNNAMED \
-jar target/application-metier-et-gestion.jar
# Configures the time to wait before service is stopped forcefully.
TimeoutStopSec=300
[Install]
WantedBy=multi-user.target
Não encontrei uma opção para systemctl
iniciar o my ecoemploi-back-metier.service
de seu diretório dev atual, em vez de pesquisá-lo em seu /etc/systemd/service
caminho.
Qual a forma de fazer o teste que estou disposto a fazer?
Basta colocá-los em
/etc/systemd/system
; os arquivos de unidade colocados lá não se tornam automaticamente parte do processo de inicialização – isso só acontece quando eles são "instalados" em, por exemplo, multi-user.target usandosystemctl enable
.Você pode colocar suas unidades personalizadas lá e manualmente
systemctl start
, sem "habilitar" a unidade para iniciar na inicialização.Em geral, uma unidade que simplesmente falha ao iniciar não interromperá o processo de inicialização, a menos que você faça outras unidades importantes dependerem dela. E se você fizer isso, você pode usar a
systemd.mask=
opção de inicialização (opção de linha de comando do kernel) para fazer o systemd ignorar unidades específicas para uma única inicialização.Se você quiser estar seguro, pode colocar as unidades em , um local na memória que não persistirá nas reinicializações.
/run/systemd/system