File: //lib/systemd/system/datacycle-ebpf.service
[Unit]
Description=Datacycle eBPF Daemon
DefaultDependencies=no
After=local-fs.target
Before=sysinit.target shutdown.target
Conflicts=shutdown.target
StartLimitIntervalSec=0
ConditionPathExists=!/proc/sys/fs/datacycle
[Service]
Type=simple
EnvironmentFile=-/etc/sysconfig/datacycle-ebpf
# Default OPTIONS can be overridden in the EnvironmentFile
ExecStart=/opt/eig_linux/bin/datacycle-ebpf $OPTIONS
Restart=always
RestartSec=5
Environment=DEBUG=0
# Signal Handling Configuration matching the original behavior:
# Restarting sends SIGINT: Application flushes logs and exits gracefully (Read-Only Mode NOT triggered).
RestartKillSignal=SIGINT
# Stopping sends SIGABRT: Application triggers Emergency Read-Only Mode (updates pinned BPF map) and exits.
# NOTE: Because BPF maps are pinned, Read-Only mode persists in the kernel even after the service stops.
KillSignal=SIGABRT
[Install]
WantedBy=sysinit.target