diff --git a/mine/rgz/service.sh b/mine/rgz/service.sh new file mode 100644 index 0000000..f7f9a6c --- /dev/null +++ b/mine/rgz/service.sh @@ -0,0 +1,37 @@ +#!/usr/bin/env bash +set -euo pipefail + +target=/etc/systemd/system/fifo_server_daemon.service + +tmp=$(mktemp) +trap 'rm -f "$tmp"' EXIT + +cat > "$tmp" <<'UNIT' +[Unit] +Description=FIFO text processing daemon (systemd-managed) +After=network.target + +[Service] +Type=simple +ExecStart=/home/pajjilykk/CLionProjects/CS-LABS/rgz/fifo_server_daemon 1000 +User=pajjilykk +Group=pajjilykk +WorkingDirectory=/home/pajjilykk/CLionProjects/CS-LABS/rgz + +# мягко останавливать и давать время на выход +KillSignal=SIGTERM +TimeoutStopSec=5s +KillMode=control-group + +# перезапускать при падении/timeout +Restart=on-failure +RestartSec=1s + +[Install] +WantedBy=multi-user.target +UNIT + +sudo install -m 0644 "$tmp" "$target" +sudo systemctl daemon-reload + +echo "Replaced \`$target\` with the predefined service unit."