Как запустить скрипт при запуске компьютера с Ubuntu?

9

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

Как сделать так, чтобы он работал в фоновом режиме , каждый раз, когда загружается моя Linux-машина?

Alex
источник
Общее, что происходит при запуске здесь: superuser.com/questions/151330/ubuntu-control-the-init-startup ... это может быть "достаточно близко", чтобы рассмотреть дубликат.
Квик-кихот

Ответы:

8

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

Вы можете добавить этот скрипт в /etc/rc.localфайл (перед exitстрокой), например

/home/myuser/go.py &

Где &в конце будет запускаться скрипт в фоновом режиме.

Убедитесь, что у вас есть флаги выполнения. Чтобы проверить это, просто запустите из терминала:

sh /etc/rc.local
kenorb
источник
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 - Я согласен с этим!
BloodPhilia
Возможно, вам следует добавить это как отдельный ответ, чтобы за него проголосовали?
Стив Гомер
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опция, которая учитывает это. Красиво и просто.

Обычная задача cron может быть:

* * * * * /path/to/app

@rebootЗадача хрон может быть:

@reboot /path/to/app
ceejayoz
источник