Такие случаи предусмотрены systemd.
создаешь или в ~/.config/systemd/user/
или в/etc/system/<демон>@пользователь.service
файл
[Unit]
Description=my daemon
[Service]
ExecStart=/usr/bin/lnav
Restart=on-failure
SuccessExitStatus=3 4
RestartForceExitStatus=3 4
[Install]
WantedBy=default.target
и потом
systemctl enable демон@myuser.service
systemctl start демон@myuser.service
Настоятельно советую ознакомиться с
Документацией - доступно расписано.
З.Ы. Там еще
After=
Requires=
для управления зависимостями
Пример
syncthing