Всегда запускайте конкретный скрипт Python, когда система запустится

Как у меня может быть конкретный сценарий Python, всегда работает на моей системе автоматически, когда моя система запускается, пока я не закрылся?

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

Я использую Ubuntu 10.04, если это имеет значение.

2
задан 05.12.2010, 12:57

3 ответа

поместить сценарий в/etc/init.d/? http://embraceubuntu.com/2005/09/07/adding-a-startup-script-to-be-run-at-bootup/

6
ответ дан 08.12.2019, 04:58

Вы можете (под Gnome), переходят к Системе>> Предпочтения>> Сессии и добавляют Ваш сценарий здесь.

1
ответ дан 08.12.2019, 04:58

Вы упоминаете, что нуждались в нем для погони за пользователем, входит в систему, но что это работает, пока система не закрывается. Это является немного конфликтующим, потому что обычно вещи, которые работали бы на X сессиях, будут останавливаться, когда сессия будет закрыта. Кроме того, если Вы хотите, чтобы это работало на сессии НеX-окон, необходимо будет быть очень осторожны относительно того, как это реагирует с выполнением многократно или стараться запустить его только однажды.

Тем не менее вот некоторые способы запустить скрипты:

  • В пользователе crontab используют "@reboot" для спецификации времени, как: @reboot /path/to/script Это заставит это работать как указанный пользователь, и будет запускаться во время начальной загрузки системы и работать, или до он умирает или до система, закрывается.
  • Войдите в приложение "Настроек" (XFCE: Приложения-> Настройки-> Xfce 4 Настройки, GNOME: Система-> Предпочтения, и т.д.), и изменяют приложения, которые запущены для Вашей сессии. Можно добавить сценарий для выполнения как часть сессии. Это будет запускаться и работать, в то время как Ваша сессия работает, но она не будет перезапущена, если сценарий умрет.
  • Сценарий сессии мог быть перенесен сценарием, который запускает программу Python в фоновом режиме, так, чтобы это продолжило бы бежать за выходом из системы сессии, но затем необходимо удостовериться, что, если пользователь выходит из системы и назад в этом, они не запускают несколько копий.
  • Если Вы хотите, чтобы это работало от сессий оболочки через SSH и т.п., а не сессии X-окон, Вы могли поместить его в .profile (.bash_profile, .zprofile, и т.д.). Но Вы испытываете необходимость к фону в нем как выше и быть уверенными, что несколько копий не работают.
  • Вы могли просто поместить его в/etc/rc.local и любое выполнение он как пользователь (через "su"), но это собирается запуститься во время начальной загрузки, не войти во время. Лично, я рекомендовал бы cront + перезагрузка по этому.
  • Вы могли создать новомодный сценарий в "/etc/init", это заставит его запускаться во время начальной загрузки как выше, но можно заставить его перезапустить сценарий, если он умирает по какой-либо причине. Это - наилучший вариант, если необходимо удостовериться, что он продолжает работать.
1
ответ дан 08.12.2019, 04:58

Теги

Похожие вопросы