systemd:如何在服务文件中使用 ExecStopPre
systemd: How to use ExecStopPre in service files
在我的守护程序停止之前,我需要调用另一个程序。
我的第一个尝试是使用类似于 ExecStartPre
的 ExecStopPre
但根据 https://bugs.freedesktop.org/show_bug.cgi?id=73177 这不受支持,我应该使用 "multiple ExecStop".
任何人都有这方面的例子吗?我应该如何从 ExecStop
杀死守护进程?
您使用 ExecStop 放置了多行(来自 node.js 服务):例如
[Service]
ExecStartPre=/usr/local/bin/npm run build
ExecStartPre=-/bin/rm local.sock
ExecStart=/usr/local/bin/npm --parseable start
ExecStop=/usr/local/bin/npm --parseable stop
ExecStop=-/bin/rm local.sock
RestartSec=300
Restart=always
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=nodejs
User=nobody
Group=nobody
Environment=NODE_ENV=dev
Environment=PORT=3000
WorkingDirectory=/var/www/nodejs/quaff
UMask=007
在我的守护程序停止之前,我需要调用另一个程序。
我的第一个尝试是使用类似于 ExecStartPre
的 ExecStopPre
但根据 https://bugs.freedesktop.org/show_bug.cgi?id=73177 这不受支持,我应该使用 "multiple ExecStop".
任何人都有这方面的例子吗?我应该如何从 ExecStop
杀死守护进程?
您使用 ExecStop 放置了多行(来自 node.js 服务):例如
[Service]
ExecStartPre=/usr/local/bin/npm run build
ExecStartPre=-/bin/rm local.sock
ExecStart=/usr/local/bin/npm --parseable start
ExecStop=/usr/local/bin/npm --parseable stop
ExecStop=-/bin/rm local.sock
RestartSec=300
Restart=always
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=nodejs
User=nobody
Group=nobody
Environment=NODE_ENV=dev
Environment=PORT=3000
WorkingDirectory=/var/www/nodejs/quaff
UMask=007