systemd ожидает завершения команды перед перезагрузкой / выключением или уничтожением других процессов
Когда я запускаю "перезагрузку" или "выключение", systemd убивает все процессы, но мне нужно дождаться завершения одного конкретного приложения, прежде чем остановить другие службы.
На самом деле, я хочу Virtualbox VM чистое выключение / сохранение. Нет проблем сделать это вручную с этим сервисным файлом, но во время выключения - процессы убиты. Как я могу это контролировать?
Я прочитал документы, но не нашел четкого решения для такой зависимости.
[Unit]
Description=virtualbox vm1 vm control service
After=vboxweb-service.service
Before=shutdown.target
[Service]
Type=oneshot
ExecStart=/usr/bin/VBoxManage startvm vm1 -type vrdp
ExecStop=/usr/bin/VBoxManage controlvm vm1 savestate
RemainAfterExit=true
1 ответ
Решаемые.
[Unit]
Description=virtualbox windows vm control service
After=vboxweb-service.service
Before=shutdown.target reboot.target halt.target
[Service]
Type=oneshot
ExecStart=/usr/bin/VBoxManage startvm windows -type vrdp
ExecStop=/usr/bin/VBoxManage controlvm windows savestate
RemainAfterExit=true
KillMode=none
[Install]
WantedBy=multi-user.target