38 lines
842 B
Bash
38 lines
842 B
Bash
#!/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."
|