====== Ubuntu ======
sudo tee /etc/systemd/system/rackmon-host-agent.service >/dev/null <<'EOF'
[Unit]
Description=Rackmon host agent
Wants=network-online.target
After=network-online.target
[Service]
Type=simple
User=root
WorkingDirectory=/root
ExecStart=/usr/bin/python3 /root/rackmon_host_agent.py
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable --now rackmon-host-agent.service
systemctl status rackmon-host-agent.service
====== Darwin ======
sudo tee /Library/LaunchDaemons/com.rackmon.hostagent.plist >/dev/null <<'EOF'
Label
com.rackmon.hostagent
ProgramArguments
/usr/bin/python3
/Users/ai/rackmon_host_agent.py
WorkingDirectory
/Users/ai
RunAtLoad
KeepAlive
StandardOutPath
/var/log/rackmon_host_agent.log
StandardErrorPath
/var/log/rackmon_host_agent.err
EOF
Fix perms and start
sudo chown root:wheel /Library/LaunchDaemons/com.rackmon.hostagent.plist
sudo chmod 644 /Library/LaunchDaemons/com.rackmon.hostagent.plist
sudo launchctl bootstrap system /Library/LaunchDaemons/com.rackmon.hostagent.plist
sudo launchctl enable system/com.rackmon.hostagent
sudo launchctl kickstart -k system/com.rackmon.hostagent
check status
sudo launchctl print system/com.rackmon.hostagent
tail -f /var/log/rackmon_host_agent.log
tail -f /var/log/rackmon_host_agent.err
To stop/unload
sudo launchctl bootout system /Library/LaunchDaemons/com.rackmon.hostagent.plist