Eu examinei os documentos oficiais para a inicialização , mas não consegui replicar meu trabalho do Upstart para o systemd.
Upstart Job:
description "evercam_media"
start on filesystem or runlevel [2345]
stop on runlevel [!2345]
limit nofile 1000000 1000000
respawn
chdir /
setuid root
setgid root
exec watch -n1 '/usr/local/bin/run_evercam_media.sh'
post-stop exec sudo pkill beam
Eu tenho replicado quase o mesmo ao ler os arquivos doc como
[Unit]
Description=evercam_media
[Service]
User=root
Group=root
WorkingDirectory=/
ExecStart=/bin/sh -ec "exec watch -n1 '/usr/local/bin/run_evercam_media.sh'"
ExecStopPost=sudo pkill beam
Restart=always
[Install]
WantedBy=multi-user.target
Mas quando eu faço systemctl daemon-reload
e systemctl status evercam_media.service
, só recebo os erros
● evercam_media.service - evercam_media
Loaded: loaded (/etc/systemd/system/evercam_media.service; enabled; vendor preset: enabled)
Active: inactive (dead) (Result: exit-code) since Tue 2017-07-18 08:41:23 CEST; 12s ago
Process: 32596 ExecStart=/bin/sh -ec exec watch -n1 '/usr/local/bin/run_evercam_media.sh' (code=exited, status=1/FAILURE)
Main PID: 32596 (code=exited, status=1/FAILURE)
Jul 18 08:41:22 Ubuntu-1604-xenial-64-minimal systemd[1]: evercam_media.service: Unit entered failed state.
Jul 18 08:41:22 Ubuntu-1604-xenial-64-minimal systemd[1]: evercam_media.service: Failed with result 'exit-code'.
Jul 18 08:41:23 Ubuntu-1604-xenial-64-minimal systemd[1]: evercam_media.service: Service hold-off time over, scheduling restart.
Jul 18 08:41:23 Ubuntu-1604-xenial-64-minimal systemd[1]: Stopped evercam_media.
Jul 18 08:41:23 Ubuntu-1604-xenial-64-minimal systemd[1]: evercam_media.service: Start request repeated too quickly.
Jul 18 08:41:23 Ubuntu-1604-xenial-64-minimal systemd[1]: Failed to start evercam_media.
root@Ubuntu-1604-xenial-64-minimal:/etc/systemd/system#
Como eles mencionaram nos documentos ..
exec
vai ser /bin/sh 'exec'
Então eu tentei como acima, mas ele falha. Mas se eu fizer isso no terminal exec watch -n1 '/usr/local/bin/run_evercam_media.sh'
Tudo começa.
ATUALIZAÇÃO:
Eu só quero executar o script sh todos 1 segundo e Watch
é a ferramenta que acabei usando.