Это уже встроено. Чтобы снять снимок экрана, просто используйте SHIFT-Printscreen. Затем он позволит вам перетащить квадрат в желаемый регион.
Я полагаю, что добавление опции Restart в ваш служебный файл systemd обеспечит запуск, если не остановится командой systemctl stop:
Restart=[no | on-success | on-failure | on-abnormal | on-watchdog | on-abort | always ]
Информация:
нет: по умолчанию служба не будет перезапущена.
no: будет перезапущен только тогда, когда процесс обслуживания завершится чисто
отказ: будет перезапущен, когда процесс завершится с ненулевым кодом выхода
при сбое: будет перезапущен только в том случае, если сервисный процесс завершается из-за неперехваченного сигнала, не указанного как чистый статус выхода
on-watchdog: будет перезапущен, только если тайм-аут сторожевого таймера для службы истечет
on-watchdog: будет перезапущен независимо из-за того, что он вышел из строя или нет, завершился аномально сигналом или ударил тайм-аут
Restart = Настраивает, перезапускается ли служба при выходе из сервисного процесса, или тайм-аут достигнут. Сервисный процесс может быть основным сервисом, но он может также быть одним из процессов, указанных в ExecStartPre =, ExecStartPost =, ExecStop =, ExecStopPost = или ExecReload =. Когда смерть процесса является результатом работы systemd (например, остановки или перезагрузки службы), служба не будет перезапущена. Тайм-ауты включают отсутствие контрольного таймера «keep-alive ping» и запуск службы, перезагрузку и прекращение тайм-аута работы. Принимает один из следующих: отсутствие-на-неудачи, on-fail, on-annormal, on-watchdog, on-abort или всегда. Если установлено значение no (по умолчанию), служба не будет перезапущена. Если он установлен на успешный, он будет перезапущен только тогда, когда процесс обслуживания будет завершен. В этом контексте чистый выход означает код выхода 0 или один из сигналов SIGHUP, SIGINT, SIGTERM или SIGPIPE и, кроме того, состояния выхода и сигналы, указанные в SuccessExitStatus =. Если он установлен на отказ, служба будет перезапущена, когда процесс завершится с ненулевым кодом выхода, завершается сигналом (в том числе на дампе ядра, но исключая вышеупомянутые четыре сигнала), когда операция (например, служба перезагрузка), а также когда настроен тайм-аут настроенного сторожевого таймера. Если установлено на ненормальное значение, служба будет перезапущена, когда процесс будет завершен сигналом (включая дамп ядра, исключая вышеупомянутые четыре сигнала), когда время выполнения операции или когда тайм-аут сторожевого таймера запускается. Если он установлен на прерывание, служба будет перезапущена только в том случае, если сервисный процесс завершается из-за неперехваченного сигнала, не указанного как чистый статус выхода. Если установлено значение on-watchdog, служба будет перезапущена, только если тайм-аут сторожевого таймера для службы истекает. Если установлено всегда, служба будет перезапущена независимо от того, вышла ли она чисто или нет, завершилась ненормально сигналом или ударила таймаут.
Источник:
https://www.freedesktop.org/software/systemd /man/systemd.service.html
RemainAfterExit вариант настройки сделал трюк
После нескольких часов экспериментов с конфигурацией systemd я обнаружил решение, которое работает:
sudo systemctl edit monit
Затем заполните следующую конфигурацию:
[Service]
PIDFile=/var/run/monit.pid
Restart=always
RemainAfterExit=no
И перезагрузите демона:
sudo systemctl daemon-reload
sudo systemctl restart monit
Теперь systemd перезапускает мою службу monit, когда я ее убиваю:
ps aux | grep monit
root 7822 0.0 0.2 112476 2872 ? Sl 19:09 0:00 /usr/bin/monit -c /etc/monit/monitrc
lookpla+ 7855 0.0 0.0 14212 1008 pts/0 S+ 19:12 0:00 grep --color=auto monit
sudo kill 7822
root 7872 0.0 0.2 112476 2964 ? Sl 19:13 0:00 /usr/bin/monit -c /etc/monit/monitrc
lookpla+ 7875 0.0 0.0 14212 984 pts/0 S+ 19:13 0:00 grep --color=auto monit
Я полагаю, что добавление опции Restart в ваш служебный файл systemd обеспечит запуск, если не остановится командой systemctl stop:
Restart=[no | on-success | on-failure | on-abnormal | on-watchdog | on-abort | always ]
Информация:
нет: по умолчанию служба не будет перезапущена.
no: будет перезапущен только тогда, когда процесс обслуживания завершится чисто
отказ: будет перезапущен, когда процесс завершится с ненулевым кодом выхода
при сбое: будет перезапущен только в том случае, если сервисный процесс завершается из-за неперехваченного сигнала, не указанного как чистый статус выхода
on-watchdog: будет перезапущен, только если тайм-аут сторожевого таймера для службы истечет
on-watchdog: будет перезапущен независимо из-за того, что он вышел из строя или нет, завершился аномально сигналом или ударил тайм-аут
Restart = Настраивает, перезапускается ли служба при выходе из сервисного процесса, или тайм-аут достигнут. Сервисный процесс может быть основным сервисом, но он может также быть одним из процессов, указанных в ExecStartPre =, ExecStartPost =, ExecStop =, ExecStopPost = или ExecReload =. Когда смерть процесса является результатом работы systemd (например, остановки или перезагрузки службы), служба не будет перезапущена. Тайм-ауты включают отсутствие контрольного таймера «keep-alive ping» и запуск службы, перезагрузку и прекращение тайм-аута работы. Принимает один из следующих: отсутствие-на-неудачи, on-fail, on-annormal, on-watchdog, on-abort или всегда. Если установлено значение no (по умолчанию), служба не будет перезапущена. Если он установлен на успешный, он будет перезапущен только тогда, когда процесс обслуживания будет завершен. В этом контексте чистый выход означает код выхода 0 или один из сигналов SIGHUP, SIGINT, SIGTERM или SIGPIPE и, кроме того, состояния выхода и сигналы, указанные в SuccessExitStatus =. Если он установлен на отказ, служба будет перезапущена, когда процесс завершится с ненулевым кодом выхода, завершается сигналом (в том числе на дампе ядра, но исключая вышеупомянутые четыре сигнала), когда операция (например, служба перезагрузка), а также когда настроен тайм-аут настроенного сторожевого таймера. Если установлено на ненормальное значение, служба будет перезапущена, когда процесс будет завершен сигналом (включая дамп ядра, исключая вышеупомянутые четыре сигнала), когда время выполнения операции или когда тайм-аут сторожевого таймера запускается. Если он установлен на прерывание, служба будет перезапущена только в том случае, если сервисный процесс завершается из-за неперехваченного сигнала, не указанного как чистый статус выхода. Если установлено значение on-watchdog, служба будет перезапущена, только если тайм-аут сторожевого таймера для службы истекает. Если установлено всегда, служба будет перезапущена независимо от того, вышла ли она чисто или нет, завершилась ненормально сигналом или ударила таймаут.
Источник:
https://www.freedesktop.org/software/systemd /man/systemd.service.html
RemainAfterExit вариант настройки сделал трюк
После нескольких часов экспериментов с конфигурацией systemd я обнаружил решение, которое работает:
sudo systemctl edit monit
Затем заполните следующую конфигурацию:
[Service]
PIDFile=/var/run/monit.pid
Restart=always
RemainAfterExit=no
И перезагрузите демона:
sudo systemctl daemon-reload
sudo systemctl restart monit
Теперь systemd перезапускает мою службу monit, когда я ее убиваю:
ps aux | grep monit
root 7822 0.0 0.2 112476 2872 ? Sl 19:09 0:00 /usr/bin/monit -c /etc/monit/monitrc
lookpla+ 7855 0.0 0.0 14212 1008 pts/0 S+ 19:12 0:00 grep --color=auto monit
sudo kill 7822
root 7872 0.0 0.2 112476 2964 ? Sl 19:13 0:00 /usr/bin/monit -c /etc/monit/monitrc
lookpla+ 7875 0.0 0.0 14212 984 pts/0 S+ 19:13 0:00 grep --color=auto monit