Python script запускается при загрузке, затем перезагружается в конце - Как восстановить контроль?
Я сделал ужасную ошибку и ища вашу помощь!
Я установил мой малиновый pi для запуска python script при запуске, отредактировав файл rc.local. Это было бы хорошо, если бы я не написал мой script, чтобы перезагрузить малиновый pi, когда он выйдет. Теперь я застрял в бесконечном цикле, и я ничего не могу редактировать. Каждый раз, когда мой script заканчивается, он перезагружает pi и снова запускается!
Моя программа использует Pygame в качестве графического интерфейса, и у меня есть Raspberry Pi 3, работающий с ОС NOOBS, которая была с ним. Если вам нужна дополнительная информация, пожалуйста, спросите.
Любая помощь, останавливающая мой script, поэтому я могу получить доступ к pi, не теряя при этом никаких данных, будет с благодарностью.
Изменить - Какое удивительное сообщество. Спасибо всем, кто делится своими знаниями и временем. Я был в панике, и все вы пришли на помощь очень быстро. Если вы читаете это, потому что вы находитесь в подобном затруднительном положении, я обнаружил, что ответ Бена был самым быстрым и простым решением, но если это не сработает для вас, я думаю, что идея FrostedCookies станет следующей задачей.
Ответы
Ответ 1
Я не уверен, что это сработает (сейчас у меня нет Pi), но если вы не можете нормально обращаться к терминалу, когда работает script, попробуйте сочетание клавиш Ctrl + Alt + F1, чтобы открыть его, затем введите sudo pkill python
, чтобы убить script (это также убьет любые другие процессы python на вашем компьютере). Затем используйте текстовый редактор терминала (vi
или nano
, возможно), чтобы отредактировать файл rc.local
, чтобы это не повторилось.
Ответ 2
Вероятно, самый простой способ - вынуть SD-карту из своего Pi, подключить файловую систему SD к другому компьютеру, работающему под управлением Linux, и отредактировать rc.local script оттуда, чтобы удалить бесконечный цикл загрузки. Вы также можете сделать резервную копию своих данных таким образом, чтобы что-то пошло не так.
Ответ 3
Это решение Raspberry Pi, а не Python/unix, но вы можете подключить SD-карту к другому компьютеру, смонтировать его и изменить script, чтобы остановить цикл перезагрузки.
Подробнее о редактировании файлов с вашей SD-карты Pi на другом компьютере здесь: https://raspberrypi.stackexchange.com/questions/9515/how-to-access-the-rpi-root-ext4-file-system-by-inserting-sd-card-into-a-differen
Ответ 4
Сначала я выключил и снова включил.
Если это не поможет
- ps aux | grep -i python
- killall python - вам, вероятно, потребуется настроить команду killall с именем python script вместо или в дополнение к "python"