Домой Учебники по Linux и Unix Служба запуска / остановки systemctl: Как настроить сценарий запуска и процесс восстановления...

Служба запуска / остановки systemctl: Как настроить сценарий запуска и процесс восстановления в Ubuntu, CentOS, Redhat Linux

925
0

Как написать скрипт запуска для systemd?

systemd это последний service management utility во всех последних версиях дистрибутива Linux, таких как Ubuntu OS, Redhat OS, CentOS.

Вот почему версия Ubuntu 17.4 и Redhat 7.4 теперь поддерживает systemctl command как сценарий выскочки. Если вы используете более старую версию ОС Linux, вам может понадобиться заглянуть внизу этой страницы, чтобы увидеть более старую версию init.d script

Мы собираемся обсудить ниже вещи в этом уроке

  • Настройка системного сервисного блока
  • Как configure Systemd?
  • Как enable это системный?
  • Как запустить процесс автоматически с помощью systemd?
  • Как остановиться и respawn процесс с использованием systemd?

Шаги настройки для этого урока:

Prerequisite: Мы скомпилировали версию программы CrunchifyAlwaysRunningProgram.java по адресу /tmp/crunchify папка. Этот процесс Java будет работать в фоновом режиме вечно. Вы можете скачать программу здесь .

Как только вы загрузите его, то try to compile и запустите его, чтобы убедиться, что он работает.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
root @ crunchify : / tmp / crunchify # ls -ltr
RWRR 1 корень корень    120 октябрь    6 17 : 57 crunchify. деготь. GZ
drwxrхтх 2 корень корень 4096 октябрь    6 18 : 01 Кот
drwxrхтх 2 корень корень 4096 октябрь    6 18 : 02 Джава
RWRR 1 корень корень    621 октябрь    7 16 : 06 пакет
rwxrwxrwx 1 корень корень    +838 октябрь    7 16 : 07 CrunchifyAlwaysRunningProgram . Джава
rwxrwxrwx 1 корень корень 1295 октябрь    8 14 : 38 CrunchifyAlwaysRunningProgram . учебный класс
root @ crunchify : / tmp / crunchify # javac CrunchifyAlwaysRunningProgram.java
root @ crunchify : / tmp / crunchify # java CrunchifyAlwaysRunningProgram
всегда работающая программа == > Вс окт 08 14 : 39 : 14 универсальное глобальное время 2017
всегда работающая программа == > Вс окт 08 14 : 39 : 16 универсальное глобальное время 2017
, , ,
, , ,
, , ,

Вы можете напечатать CTRL + C выйти из программы.

Теперь давайте приступим к настройке сценария автоматического запуска systemd для вышеуказанной программы.

Шаг 1

  • Перейдите в папку / lib / systemd / system
  • Тип cd /lib/systemd/system

Шаг 2

  • создать файл crunchify.service (измените имя файла соответственно)
  • положить ниже содержание в него
crunchify.service

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[ Блок ]
Описание = Crunchify Java Process Restart Upstart Script
После = ревиз . Сервис systemdпользовательсеансы . время обслуживаниясинхронизация . цель
[ Сервис ]
Пользователь = root
TimeoutStartSec = 0
Тип = простой
KillMode = процесс
экспорт JAVA_HOME = / opt / java / jdk9
экспорт PATH = $ PATH : $ JAVA_HOME / bin
WorkingDirectory = / tmp / crunchify
ExecStart = / opt / java / jdk9 / bin / java ср / tmp / crunchify CrunchifyAlwaysRunningProgram
Restart = всегда
RestartSec = 2
LimitNOFILE = 5555
[ Установить ]
WantedBy = мультипользователь. цель

Шаг 3

Шаг 4

  • Загрузите crunchify.service с помощью команды systemctl daemon-reload
  • Включите crunchify.service с помощью команды systemctl enable crunchify.service
  • Запустите crunchify.service с помощью команды systemctl start crunchify
  • Проверьте состояние crunchify.service с помощью команды systemctl status crunchify

Шаг 5

  • Теперь проверьте , запущен процесс или нет?
  • Введите команду ps -few | grep java чтобы увидеть все запущенные процессы Java
  • Вы должны увидеть что-то вроде этого

1
2
3
root @ crunchify : / lib / systemd / system # ps -few | гре ява
корень      28631      1    0 14 : 02 ?          00 : 00 : 03 / opt / java / jdk9 / bin / java ср / tmp / crunchify CrunchifyAlwaysRunningProgram
корень      28853 28226    0 14 : 46 баллы / 0      00 : 00 : 00 гре ява

Что значит процесс 28631 начинает использовать ваш сценарий выскочки. У вас может быть другой идентификатор процесса.

ЧИТАТЬ ТАКЖЕ:  Как установить Ansible на ОС Linux Ubuntu?

Как проверить, работает ли ваш systemd crunchify.service или нет?

  • Попробуй убить процесс используя kill -9 28631 и вы должны увидеть, что новый процесс должен быть создан автоматически.
  • В моем случае новый идентификатор процесса 28887 создано

1
2
3
4
root @ crunchify : / lib / systemd / system # kill -9 28631
root @ crunchify : / lib / systemd / system # ps -few | гре ява
корень      28887      1 17 14 : 48 ?          00 : 00 : 00 / opt / java / jdk9 / bin / java ср / tmp / crunchify CrunchifyAlwaysRunningProgram
корень      28900 28226    0 14 : 48 баллы / 0      00 : 00 : 00 гре ява

Видеоролик: завершите пример установки сценария upstart для Live Systemd:

Это видео содержит — Как настроить скрипт запуска / запуска systemd в CentOS, Redhat, Ubuntu Linux OS?

Хотите узнать больше о systemd? Вот шпаргалка для вашей справки.

Я надеюсь ты учишься everything about systemd command и настройка сценария upstart на всех типах ОС Linux.

STOP: ТОЛЬКО для более старой версии ОС

Если вы работаете older version Redhat, Ubuntu, CentOS версии, тогда вам нужно будет иметь скрипт в этом формате.

  • Идти к /etc/init
  • Создать файл crunchify.conf
crunchify.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Запускаем Crunchify на Java на неопределенное время
#
описание      «Crunchify Java Process Restart Upstart Script»
автор Crunchify.com (App Shah)
начать на уровне выполнения [ 2345 ]
остановитесь на уровне выполнения [ ! 2345 ]
респаун
предел возрождения 10 5
скрипт
     су корень << 'EOF'
     экспорт JAVA_HOME = / opt / java / jdk9
     экспорт PATH = $ PATH : $ JAVA_HOME / bin
     Exec / opt / java / jdk9 / bin / java ср / tmp / crunchify CrunchifyAlwaysRunningProgram
     EOF
конец скрипт
  • Просто запустите сервис, используя команду service crunchify start
  • Выполните те же шаги проверки, что и выше

Дайте мне знать, если вы обнаружите какие-либо проблемы с запуском сценария в вашей среде . Приятного дня и счастливого кодирования.

Служба запуска / остановки systemctl: Как настроить сценарий запуска и процесс восстановления в Ubuntu, CentOS, Redhat Linux

0.00 (0%) 0 votes

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите ваш комментарий!
пожалуйста, введите ваше имя здесь