Как мне создать службу, которая запускается при запуске?

Иногда такое случается с rsync , если файл, например, исчезает из источника во время выполнения rsync .

Причина в том, что rsync создает список файлов и т. Д. Для передачи, а затем переходит к их передаче. В этом процессе есть состояние гонки, при котором указанный файл может быть удален (пользователем) до его передачи.

Если атрибуты не могут быть установлены на целевой стороне из-за разрешений, это сообщение также появится.

2
27.07.2017, 01:26
1 ответ

Мне удалось найти интересную статью о том, почему нужно было заменить init и чем его заменить. Процитируем: «Процесс инициализации запускается последовательно, т. е. одна задача запускается только после успешного запуска последней задачи и ее загрузки в память. Это часто приводило к задержке и длительному времени загрузки. Однако systemd был разработан не для скорости, а для аккуратное выполнение дел, что, в свою очередь, позволяет избежать всех -необходимых ООН задержек».

Итак, чтобы ответить на мой собственный вопрос, похоже, что systemd заменил init.d по некоторым уважительным причинам, и другие методы, такие как то, что упоминается в комментариях GypsyCosmonaut, заключается в том, чтобы просто иметь сценарий запуска в ~/.config/autostart, который также поставляется с удобным инструментом запуска приложений, если вы используете рабочий стол.

пример init.d


На всякий случай, если кто-то действительно хочет сделать то, что я изначально пытался сделать, вам просто нужна ссылка на каталог /etc/init.d.

Например, если у вас есть файл.jar, который нужно запустить с помощью команд, подобных /etc/init.d/yourProgram startили /etc/init.d/yourProgram stop, вы просто сделаете что-то похожее на:

sudo ln -s /path/to/yourProgram.jar /etc/init.d/yourProgram

Описанный выше метод также работает, если вы укажете ему скрипт, который запускает вашу программу, а не.jar

запуск init.d при загрузке


Если вы хотите, чтобы эта служба запускалась при запуске,использовать:

sudo service yourProgram defaults

Это автоматически заглянет в /etc/init.d/ и найдет вашу ссылку на актуальный скрипт.

0
27.01.2020, 22:37

Теги

Похожие вопросы