Запустить автоматически программу при запуске под Linux Ubuntu

147

Возможный дубликат:
эквивалент Linux для запуска Windows

Мне нужна программа, которая будет запускаться каждый раз, когда я запускаю свой Linux-модуль ubuntu. Поэтому мне нужно добавить его в список моих загрузочных программ. Только одна проблема: мне нужно сделать это через терминал.

  • 23
    @Flexo Этот ответ отсутствует ни в одной из предоставленных вами ссылок. +1 к этому вопросу и ответу
Показать ещё 3 комментария
Теги:
startup

1 ответ

186
sudo mv /filename /etc/init.d/
sudo chmod +x /etc/init.d/filename 
sudo update-rc.d filename defaults 

Script должен начинаться с загрузки. Обратите внимание, что этот метод также работает как с жесткими ссылками, так и с символическими ссылками (ln).

Изменить

В этот момент процесса загрузки PATH еще не установлен, поэтому крайне важно, чтобы во всех случаях использовались абсолютные пути. НО, как указано в комментариях Стива Х.Х.Х., явное объявление полного пути к файлу (/etc/init.d/filename) для команды update-rc.d недопустимо в большинстве версий Linux. В manpage для update-rc.d второй параметр - это script, расположенный в /etc/init.d/*. Обновленный выше код, чтобы отразить это.

Другое редактирование

Также, как указано в комментариях (Чарльз Брандт), /filename должен быть стилем init script. Также был предоставлен хороший шаблон - https://github.com/fhd/init-script-template.

Еще одна ссылка на другую статью, чтобы избежать возможного гниения ссылки (хотя было бы грустно, если бы GitHub умер) - http://www.linux.com/learn/tutorials/442412-managing-linux-daemons-with-init-scripts

еще одно редактирование

Как указано в комментариях (Russell Yan), это работает только в режиме по умолчанию update-rc.d.

Согласно руководству update-rc.d, он может работать в двух режимах: "машины, использующие устаревший режим, будут иметь файл /etc/init.d/.legacy-bootordering", и в этом случае вам необходимо передать последовательность и конфигурацию уровня запуска через командную строку аргументы.

Эквивалентный аргумент, установленный для приведенного выше примера,

sudo update-rc.d filename start 20 2 3 4 5 . stop 20 0 1 6 .

  • 1
    Так же, как и к вашему сведению, опция «по умолчанию» помещает ссылку для запуска сценария на уровнях выполнения 2, 3, 4 и 5. (и ставит ссылку для остановки в 0, 1 и 6.)
  • 0
    Спасибо большое, проверю как можно скорее! Вы знаете, возможно ли сделать что-то подобное на компьютере Mac? Это должен быть Unix OS, мало чем отличающийся от Linux ... так вы знаете, есть ли подобный способ сделать это на Mac? Еще раз спасибо!
Показать ещё 19 комментариев
Сообщество Overcoder
Наверх
Меню