Откройте текстовый файл с помощью gedit и в диалоговом окне «Сохранить как ..» вы увидите текущую кодировку.
Похоже, что этот тип поведения на самом деле не поддерживается напрямую systemd
, что имеет смысл из-за того, как он отслеживает каждую службу, которую он запускает. В итоге мне пришлось создать два идентичных сервиса, которые запускаются каждые 20 минут, а не каждые 10 минут.
Соответствующие секции таймера следующие:
myservice -даже.таймер
[Timer]
OnCalendar=*:0/20:0
Persistent=false
AccuracySec=1s
и
myservice -нечетный.таймер
[Timer]
OnCalendar=*:10/20:0
Persistent=false
AccuracySec=1s
Кроме того, я добавил RuntimeMaxSec=900
к обоим сервисам, так что даже если они будут плохо себя вести, следующий раунд начнется в нужное время.
Если вы хотите запустить процесс асинхронно (и независимо от любого другого экземпляра ), вы можете использовать systemd-run
. systemd-run
создает временную единицу службы или объема. По умолчанию он автоматически генерирует уникальное имя для устройства.
Другими словами, служба systemd S может использовать systemd-run
для запуска процесса P. systemd-run
не будет ждать завершения P (, если вы не используете параметр --wait
). Процесс P не будет частью службы S. И процесс P не будет уничтожен, когда служба S остановится.
Если хотите, вы можете использовать такие параметры, как --property RuntimeMaxSec=900
с systemd-run
. (То, какие именно свойства можно установить с помощью systemd-run
, немного различается. Я думаю, что старые версии systemd не позволяли устанавливать столько свойств переходного модуля ).
Если вам нужно добавить более сложные элементы управления, чем предусмотрено в cron
, или даже более сложные элементы управления, чем это возможно для временных единиц обслуживания, вам может потребоваться найти другой планировщик задач с нужными вам функциями. Или напишите свой собственный сервис, который порождает дочерние процессы и следит за их статусом :-). (Вы могли бы по-прежнему использовать системные таймеры для сообщения такой службе, но я не думаю, что это будет выглядеть очень чисто. Если хотите, чтобы было понятно, думаю, лучше бы сервис реализовал сам таймер.)