Você precisa deixar o systemd trabalhar para você. Deixe-o lidar com a bifurcação no início e a morte do processo. Por exemplo, substitua sua peça de serviço por
[Service]
Type=simple
ExecStart=/usr/local/bin/somescript
PIDFile=/tmp/somescript.pid
você pode usar systemctl start
, status
e stop
. Você deve lembrar que as linhas no systemd são NOT interpretadas pelo shell, portanto, por exemplo, seu &;
é simplesmente passado como outro parâmetro de 2 caracteres para o seu script.