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"