Як зробити запуск сценарію при запуску машини Ubuntu?


9

Я хочу запустити /home/myuser/go.py

Як зробити цей запуск у фоновому режимі кожного разу, коли моя машина Linux завантажується?


загальне, що відбувається при запуску ubuntu тут: superuser.com/questions/151330/ubuntu-control-the-init-startup ... це може бути "досить близько", щоб розглянути дублікат.
квакш-кіхот

Відповіді:


8

Простий спосіб

Ви можете додати цей скрипт у /etc/rc.localфайл (перед exitрядком), наприклад

/home/myuser/go.py &

Де &в кінці буде запущений сценарій у фоновому режимі.

Переконайтеся, що у вас є прапори виконання. Щоб перевірити це, просто запустіть з терміналу:

sh /etc/rc.local

2

Ви можете помістити сценарій у /etc/init.d/каталог (наприклад:) /etc/init.d/go.pyдля всього, що ви хочете запустити під час завантаження.

http://www.debian-administration.org/article/Making_scripts_run_at_boot_time_with_Debian


7
Я вважаю за краще, /etc/rc.localоскільки вам не потрібно змінювати посилання на рівні запуску.
Дірк Еддельбуеттель

@DirkEddel - Я згоден на це!
Переповнення стека мертве

Можливо, ви повинні додати це як окрему відповідь, щоб за нього можна було проголосувати?
Стів Гомер

2

Існує багато способів зробити це (залежно від того, який дистрибутив linux ви використовуєте, пропонуються різні інструменти).

Найпростіший спосіб - просто додати скрипт до /etc/init.d і виконати команду

chmod +x go.py
update-rc.d go.py defaults

Якщо ви вже налаштували службу, ви можете також зробити це за допомогою команди chkconfig (тобто якщо команда доступна).

У цьому випадку ця команда повинна працювати:

chkconfig --level 35 go.py on

Перегляньте ЦЕ САЙТ, точніше розділи "Використання chkconfig для запуску демонів на кожному рівні" та "Використання sysv-rc-conf для запуску демонів на кожному рівні запуску".


0

cron має спеціальний @rebootваріант, який дозволяє це зробити. Приємно і просто.

Звичайною задачею на крон може бути:

* * * * * /path/to/app

Завданням @rebootcron може бути:

@reboot /path/to/app
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.