geJI<|>eP
![]() 188 / 187 / 19
Регистрация: 22.07.2010
Сообщений: 735
|
|
1 | |
Автозапуск питоновского скрипта на raspberry pi 309.08.2016, 16:01. Показов 15531. Ответов 9
Всем привет. Сначала изложу что сделал и как получается а потом задам вопрос.
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
|
09.08.2016, 16:01 | |
Ответы с готовыми решениями:
9
Запуск питоновского скрипта через anacron Запуск питоновского скрипта Автозапуск на Raspberry pi |
![]() 89 / 75 / 17
Регистрация: 18.08.2016
Сообщений: 341
|
|
18.08.2016, 15:31 | 2 |
Зачем здесь указан python3 ?! Укажите просто файл, система сама пойдет в PATH искать. Так получается, система первым делом считывает python3 и запускает его. А уже потом, доходит до exm.py идет в PATH и запускает еще одну копию python3.
1
|
geJI<|>eP
![]() 188 / 187 / 19
Регистрация: 22.07.2010
Сообщений: 735
|
|
18.08.2016, 17:08 [ТС] | 3 |
Спасибо за ответ, но если убрать python3 оно запускает со вторым питоном. а у меня заточено под третий.
0
|
![]() 89 / 75 / 17
Регистрация: 18.08.2016
Сообщений: 341
|
|
18.08.2016, 18:24 | 4 |
А что мешает в exm.py вместо #!/usr/bin/env python исправить на #!/usr/bin/env python3 ?! Тем самым указав системе, использовать python3 вместо python2.
1
|
geJI<|>eP
![]() 188 / 187 / 19
Регистрация: 22.07.2010
Сообщений: 735
|
|
18.08.2016, 19:23 [ТС] | 5 |
Спасибо, завтра попробую. А то сейчас уже нету возможности. Обязательно отпишусь...
0
|
![]() 89 / 75 / 17
Регистрация: 18.08.2016
Сообщений: 341
|
|
19.08.2016, 23:49 | 6 |
1
|
geJI<|>eP
![]() 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
|
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
|
28.01.2020, 23:11 | |
Помогаю со студенческими работами здесь
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. Эта версия включает ряд значительных улучшений в работе. . .
|