У меня есть процесс, который мне нужно запустить при запуске. Это то, что должно оставаться в рабочем состоянии все время, когда машина включена. На данный момент я просто вводил следующее в bash все, что я запускал на своем сервере.
command -f argument & disown
Я знаю, что мне нужно создать скрипт init, но я понятия не имел, как это сделать. После некоторых исследований кажется, что Ubuntu использует systemd (некоторые ссылки сказали Upstart, они не то же самое?) Как его система init. Но все проводники, которые я нашел в сети, скажут мне, чтобы мой исполняемый файл был в /etc/init или /etc/init.d. Инициатор должен быть совершенно другой системой инициализации.
Может ли кто-нибудь указать мне в правильном направлении? Примерный скрипт systemd или даже онлайн-гид - отличная помощь.
Вам нужны два файла:
Ваш файл сценария:command.sh
Файл .service, который будет помещен в /etc/systemd/system, и с разрешения 644 с chmod 664 command.service: command.service
простейшим контентом command.service было бы следующее: [Unit]
Description=Some service description
[Service]
ExecStart=/bin/bash -c "/path/to/command.sh -f argument & disown"
[Install]
WantedBy=multi-user.target
Теперь, чтобы запустить его при загрузке, мы используем контроллер systemd systemctl: sudo systemctl enable command
# or
sudo systemctl enable command.service
Обратите внимание, что для разных разделов доступно множество других параметров , см. здесь и убедитесь, что ваш command.sh является исполняемым с chmod +x command.sh
Вам нужны два файла:
Ваш файл сценария:command.sh
Файл .service, который будет помещен в /etc/systemd/system, и с разрешения 644 с chmod 664 command.service: command.service
простейшим контентом command.service было бы следующее: [Unit]
Description=Some service description
[Service]
ExecStart=/bin/bash -c "/path/to/command.sh -f argument & disown"
[Install]
WantedBy=multi-user.target
Теперь, чтобы запустить его при загрузке, мы используем контроллер systemd systemctl: sudo systemctl enable command
# or
sudo systemctl enable command.service
Обратите внимание, что для разных разделов доступно множество других параметров , см. здесь и убедитесь, что ваш command.sh является исполняемым с chmod +x command.sh