С помощью systemd вы сможете запускать скрипт в качестве демона, создав простой юнит. Существует множество различных опций , которые вы можете добавить, но это настолько просто, насколько это возможно.
Допустим, у вас есть скрипт /usr/bin/mydaemon
.
#!/bin/sh
while true; do
date;
sleep 60;
done
Не забудьте sudo chmod +x /usr/bin/mydaemon
.
Вы создаете подразделение /etc/systemd/system/mydaemon.service
.
[Unit]
Description=My daemon
[Service]
ExecStart=/usr/bin/mydaemon
Restart=on-failure
[Install]
WantedBy=multi-user.target
Чтобы запустить демона, которого вы запускаете
systemctl start mydaemon.service
Чтобы начать при загрузке, включите его
systemctl enable mydaemon.service
Если в системе на основе systemd, которой сегодня является большинство дистрибутивов Linux, это не совсем внешний инструмент. Минусом будет то, что это не будет работать везде.
Думаю, всем этим занимается свинья, известная как systemd. Если бы я хотел, чтобы система работала как Windows, я бы запускал Windows.