启动到py脚本然后结束

问题描述 投票:-1回答:2

我已经使用这个"instructable" method在启动时运行我的脚本工作正常,但我没有办法在Pi运行时结束程序。我只是在Raspbian的GUI。

我按照描述尝试了pygame模块,但没有任何反应。

我认为应该出现一个shell,我可以看到执行的程序,如果需要,可以按ctrl + c结束。

我没有结束条件。也许有人可能会建议一种方法?脚本是:

import RPi.GPIO as IO
import time
import random

IO.setwarnings(False)
IO.setmode(IO.BCM)
IO.setup(26, IO.OUT)
IO.setup(16, IO.OUT)
IO.setup(13, IO.OUT)
IO.setup(27, IO.OUT)
IO.setup(18, IO.OUT)
IO.setup(17, IO.OUT)
IO.setup(4, IO.IN)

def pattern1():
    (IO.output(26, True), IO.output(16, True), IO.output(27, True), IO.output(18, True), IO.output(13, False), IO.output(17, False), time.sleep(0.75), IO.output(16, True), IO.output(13, True), IO.output(18, True), IO.output(17, True), IO.output(26, False), IO.output(27, False), time.sleep(0.75), IO.output(13, True), IO.output(27, True), IO.output(17, True), IO.output(26, True), IO.output(16, False), IO.output(18, False), time.sleep(0.75))
def pattern2():
    (IO.output(26, True), IO.output(16, True), IO.output(27, True), IO.output(18, True), IO.output(13, True), IO.output(17, True), time.sleep(0.5))
def pattern_off():
    (IO.output(26, False), IO.output(16, False), IO.output(13, False), IO.output(27, False), IO.output(18, False), IO.output(17, False))
def pattern_flasher_x_3():
    (pattern_off(), time.sleep(0.5), pattern2(), time.sleep(0.5), pattern_off(), time.sleep(0.5), pattern2(), time.sleep(0.5), pattern_off(), time.sleep(0.5), pattern2(), time.sleep(0.5))

try:
    while True:
        if IO.input(4)==1:
            for i in range(50):
                pattern1()
            for i in range(1):
                pattern_flasher_x_3()
            else:
                pattern_off()
    while False:
        pattern_off()


finally:
    IO.cleanup()
python kill boot
2个回答
0
投票

我做了一些环顾四周,发现有一个辅助输入触发“退出”工作。在我添加的真实和虚假部分时:

if IO.input(25) == True:
    quit()

0
投票

当我在Linux上启动脚本并希望阻止它们时,答案是使用终端中的命令top查找进程,然后使用sudo kill [processnumber]来阻止它。障碍是找到你的过程。它很可能被命名为Python。与任何涉及sudo的命令一样要非常小心 - 不建议杀死随机进程;-)。

我还建议安装htop,因为界面更漂亮。

如果您可以管理它,添加退出触发器似乎是一个更好的解决方案

© www.soinside.com 2019 - 2024. All rights reserved.