Форум программистов, компьютерный форум, киберфорум
Одноплатные компьютеры
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/79: Рейтинг темы: голосов - 79, средняя оценка - 5.00
geJI<|>eP
 Аватар для flatgad
188 / 187 / 19
Регистрация: 22.07.2010
Сообщений: 735
1

Автозапуск питоновского скрипта на raspberry pi 3

09.08.2016, 16:01. Показов 15531. Ответов 9

Author24 — интернет-сервис помощи студентам
Всем привет. Сначала изложу что сделал и как получается а потом задам вопрос.

1. Создал в папке /etc/xdg/autostart/ файл examp.desktop

2. В файле указано :

[Desktop Entry]
Version=1.0
Encoding=UTF-8
Name=Examp
Exec=sudo python3 /home/pi/Examp/exm.py
Terminal=false
Type=Application
OnlyShowIn=GNOME;LXDE;

3. При старте малинки питон запускается два раза. Собственно вопрос почему так происходит? Почему стартует скрипт два раза? при чем разница во времени составляет 2 сек. такое чувство что первый запуск выполняется при старте ядра а второй когда стартует оболочка.

Может кто с таким сталкивался буду рад услышать решение. Заранее спасибо
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.08.2016, 16:01
Ответы с готовыми решениями:

Запуск питоновского скрипта через anacron
Есть ссылка на python скрипт, который весьма удачно запускаеться вручную но увы не anacron'ом. Лежит в /etc/cron.daily lrwxrwxrwx 1 root...

Запуск питоновского скрипта
Всем привет, помогите пожалуйста. Есть скрипт на питоне необходимо запустить его из php. Функции exec, passthru и system пробовал. ...

Автозапуск на Raspberry pi
На Raspberry Pi нужно при включении устройства запускать в графическом режиме программу. Я делал так: sudo nano...

9
 Аватар для useroot
89 / 75 / 17
Регистрация: 18.08.2016
Сообщений: 341
18.08.2016, 15:31 2
Цитата Сообщение от flatgad Посмотреть сообщение
Exec=sudo python3 /home/pi/Examp/exm.py
Зачем здесь указан python3 ?! Укажите просто файл, система сама пойдет в PATH искать. Так получается, система первым делом считывает python3 и запускает его. А уже потом, доходит до exm.py идет в PATH и запускает еще одну копию python3.
1
geJI<|>eP
 Аватар для flatgad
188 / 187 / 19
Регистрация: 22.07.2010
Сообщений: 735
18.08.2016, 17:08  [ТС] 3
Спасибо за ответ, но если убрать python3 оно запускает со вторым питоном. а у меня заточено под третий.
0
 Аватар для useroot
89 / 75 / 17
Регистрация: 18.08.2016
Сообщений: 341
18.08.2016, 18:24 4
Цитата Сообщение от flatgad Посмотреть сообщение
Спасибо за ответ, но если убрать python3 оно запускает со вторым питоном. а у меня заточено под третий.
А что мешает в exm.py вместо #!/usr/bin/env python исправить на #!/usr/bin/env python3 ?! Тем самым указав системе, использовать python3 вместо python2.
1
geJI<|>eP
 Аватар для flatgad
188 / 187 / 19
Регистрация: 22.07.2010
Сообщений: 735
18.08.2016, 19:23  [ТС] 5
Спасибо, завтра попробую. А то сейчас уже нету возможности. Обязательно отпишусь...
0
 Аватар для useroot
89 / 75 / 17
Регистрация: 18.08.2016
Сообщений: 341
19.08.2016, 23:49 6
Цитата Сообщение от flatgad Посмотреть сообщение
Спасибо, завтра попробую. А то сейчас уже нету возможности. Обязательно отпишусь...
Приветик, как успехи ?! Получилось ?!
1
geJI<|>eP
 Аватар для flatgad
188 / 187 / 19
Регистрация: 22.07.2010
Сообщений: 735
29.08.2016, 11:10  [ТС] 7
Вообщем не получилось. Не могу я понять что и как запускается вот лог программы

[2016-05-29 06:15:18,815] Programm started // Запуск программы
[2016-05-29 06:15:18,817] Initial Compass // Инициализация компаса
[2016-05-29 06:15:18,819] Initial GPS serial port // Инициализация GPS
[2016-05-29 06:15:18,822] Initial UDP server // UDP сервер инициализация
[2016-05-29 06:15:18,841] Initial serial port // Ком порт инициализация
[2016-05-29 06:15:18,844] Started Threads // Запуск потоков
[2016-05-29 06:15:18,845] GPIO cunfigure // Конфигурация портов ввода вывода
[2016-05-29 06:15:18,847] Start thread udp server // Стартует поток UDP
[2016-05-29 06:15:18,848] UDP started // Поток стартовал
[2016-05-29 06:15:18,860] Start thread serial port // Запуск потока ком порта
[2016-05-29 06:15:18,860] Serial started // Стартовал поток
[2016-05-29 06:15:18,862] Start thread serial port GPS // Запуск потока GPS
[2016-05-29 06:15:18,862] Serial GPS started // Поток стартовал
[2016-05-29 06:15:20,590] Programm started // Повторный запуск программы хз чего
// Инициализация
[2016-05-29 06:15:20,591] Initial Compass
[2016-05-29 06:15:20,596] Initial GPS serial port
[2016-05-29 06:15:20,602] Initial UDP server
[2016-05-29 06:15:20,623] Initial serial port
[2016-05-29 06:15:20,624] Started Threads
// Остановка программы сделал так если порт занят для UDP тогда конец программы то есть потоки и всю остальную перефирию даже не трогаю
[2016-05-29 06:15:20,625] Programm exit
//А это уже закрытие первой программы которая запустилась изначально.
[2016-05-29 06:15:52,497] Stop thread udp server
[2016-05-29 06:15:52,498] UDP stopped
[2016-05-29 06:15:52,922] Stop thread serial port
[2016-05-29 06:15:52,923] Serial stopped
[2016-05-29 06:15:53,518] Stop thread serial port GPS
[2016-05-29 06:15:53,519] GPIO cleanup
[2016-05-29 06:15:53,520] Programm exit

Добавлял #!/usr/bin/env python3 только у меня почему то сработало так #!/usr/bin/python3 и в ярлыке прописал Exec=sudo python /home/pi/Examp/exm.py, но в таком случае у меня программа запускается на втором питоне.

Так что пока оставил так как есть. Работает ну и ладно ) Если вдруг у кого то есть решение другое буду рад услышать.
0
0 / 0 / 0
Регистрация: 11.10.2015
Сообщений: 2
28.01.2020, 21:27 8
У меня такая же проблема. И все-таки она не решена. Есть еще идеи?
Без python не запускается, стартуют два процесса со случайным PID, и перегревают распберри.
0
Эксперт по компьютерным сетямЭксперт NIX
 Аватар для Dmitry
13366 / 7497 / 821
Регистрация: 09.09.2009
Сообщений: 29,324
28.01.2020, 22:27 9
Цитата Сообщение от flatgad Посмотреть сообщение
почему то сработало так #!/usr/bin/python3
но вот
Цитата Сообщение от flatgad Посмотреть сообщение
...в ярлыке прописал Exec=sudo python /home/pi/Examp/exm.py
и что же помешало в ярлыке указать "нужный" питон?
то есть, типа такого
Code
1
Exec=sudo /usr/bin/python3 /home/pi/Examp/exm.py
0
0 / 0 / 0
Регистрация: 11.10.2015
Сообщений: 2
28.01.2020, 23:11 10
ок, еще раз. python мне нужен второй, и так я прописал в
/home/pi/.config/lxsession/LXDE-pi/autostart :

@lxterminal -t "Tile" -e sudo /usr/bin/python /home/pi/Templates/my.py
это запускает программу как надо, НО:
если я то же самое сделаю с ярлыка, а не в автозапуске, скрипт будет съедать 30% CPU, как только делаю это различными методами автозапуска типа описанного, или ярлыками, запускается некий второй процесс python (видимо, как было описано выше: оболочка сначала запускает сам python, а потом в рython'е уже сам скрипт образуется некий процесс, который серьезно загружает распберри (81%) и перегревает ее, что совсем плохо, вплоть до неработоспособности.

вот например в ярлыке:
Exec=lxterminal -t "Tile" -e sudo python /home/pi/Templates/my.py
и руками запускается норм (30%), а с автостарта ситуация как описано выше.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.01.2020, 23:11
Помогаю со студенческими работами здесь

Автозапуск HAP-NodeJS под Raspberry PI3 via Raspbian
День добрый, аль ночи)! Такая ситуация имеется на руках Малинка 3я с raspbian на борту, все обновлено. Стоит две программки (ох каких...

Автозапуск скрипта
Добрый день всем. Вопрос к экспертам, можно ли в VBS сделать так,чтобы скрипт сам запускался, допустим раз в полчаса. Если да, то...

Автозапуск скрипта
Люди добрые, всем привет. Кто может помочь? Мне надо сделать так, чтоб скомпилированный в exe код, после запуска пользователем,...

Автозапуск скрипта
Имеется скрипт, как уже очевидно, необходимо его автоматизировать.. Скрипт выполняет некоторый конфиг netgraph, руками запускается и все...

Автозапуск скрипта
Имеется скрипт. Если запускать вручную, всё отлично. Однако если его поместить в автозагрузку, желаемый результат не наблюдается. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Новые блоги и статьи
Неблокируемый стек в C++26: реализуем простой сборщик мусора
stackOverflow 02.03.2025
Многопоточные приложения требуют надежных и производительных структур данных, способных эффективно работать в условиях конкурентного доступа. Неблокируемые структуры данных представляют собой особый. . .
Шаблон REQ/REP в ZeroMQ: сверхбыстрый обмен сообщениями в C++ и Python
stackOverflow 02.03.2025
Построение высоконагруженных распределенных систем требует надежного и производительного механизма обмена сообщениями. ZeroMQ выделяется среди прочих решений своей невероятной скоростью работы и. . .
Нестандартные приемы работы с итераторами в C++
stackOverflow 02.03.2025
Итераторы - один из краеугольных камней C++, предоставляющий универсальный механизм обхода и манипуляции данными в контейнерах. Появившись как замена небезопасным указателям, они эволюционировали от. . .
Лексический анализ и регулярные выражения в C++26
stackOverflow 02.03.2025
Лексический анализ - ядро любого компилятора и инструмента обработки текста. Каждый программист сталкивается с задачами парсинга строк, обработки файлов конфигурации или анализа пользовательского. . .
Подробно о std::mdspan в C++23
stackOverflow 02.03.2025
Работа с многомерными массивами данных традиционно была одной из сложных задач в C++. Программистам приходилось создавать собственные абстракции или использовать сторонние библиотеки для эффективной. . .
Колмогоровская сложность в C++: Путь к совершенному коду
stackOverflow 02.03.2025
Абстрактная математическая теория Колмогорова стала мощным средством оценки и улучшения программного кода. Сложность алгоритма - не только в его вычислительной эффективности, но и в том, насколько. . .
Изменения в C# 14
stackOverflow 02.03.2025
Одно из самых значимых изменений в C# 14 - поддержка коллекционных выражений, которые позволяют создавать и инициализировать коллекции с помощью нового лаконичного синтаксиса. Это нововведение. . .
Разработка кроссплатформен­­­­ного мобильного приложения для iOS/Android на C++
bytestream 02.03.2025
C++ как язык программирования высокого уровня с прямым доступом к аппаратным ресурсам позволяет создавать приложения, работающие одинаково быстро как на iOS, так и на Android устройствах. Ни для кого. . .
Аутентификация/авторизация на Golang
bytestream 02.03.2025
Go предлагает множество возможностей для создания надежных систем аутентификации. Встроенные криптографические пакеты, высокая производительность и простота параллельной обработки запросов делают его. . .
Нововведения TypeScript 5.8
bytestream 02.03.2025
TypeScript 5. 8 приносит много возможностей и оптимизаций, которые существенно расширяют границы типобезопасного программирования на JavaScript. Эта версия включает ряд значительных улучшений в работе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru