定义一个 systemd 服务:
[Unit]
Description=WebGPS
After=gpsd.service
[Service]
ExecStart=/usr/sbin/daemonize -p /run/gpsd/webgps.pid -o /var/log/webgps.log /usr/bin/python /var/www/gpsd/webgps.py c
TimeoutSec=1200
WorkingDirectory=/run/gpsd
Environment=PYTHONUNBUFFERED=1
RuntimeDirectory=gpsd
RuntimeDirectoryMode=0755
PermissionsStartOnly=true
Type=forking
PIDFile=/run/gpsd/webgps.pid
Restart=on-failure
GuessMainPID=true
#User=www-data
#Group=www-data
StateDirectory=gpsd
StateDirectoryMode=0755
PrivateTmp=true
ProtectSystem=full
ProtectHome=false
NoNewPrivileges=true
PrivateDevices=true
MemoryDenyWriteExecute=true
[Install]
WantedBy=default.target
Run Code Online (Sandbox Code Playgroud)
然后执行systemctl daemon-reload。到目前为止。下一个:systemctl enable webgps。也没事。开始整个事情systemctl start webgps只是做预期的事情——但是:
WorkingDirectory=/run/gpsd
Run Code Online (Sandbox Code Playgroud)
这个工作目录只包含
# ll /run/gpsd
insgesamt 4,0K
drwxr-xr-x 2 0 0 60 Feb 27 16:13 ./
drwxr-xr-x 25 0 0 880 Feb 27 16:13 ../
-rw-r--r-- 1 0 0 5 Feb …Run Code Online (Sandbox Code Playgroud)