树莓派控制 SSH
Posted
技术标签:
【中文标题】树莓派控制 SSH【英文标题】:Raspberry Pi control over SSH 【发布时间】:2020-12-18 18:56:09 【问题描述】:我有 raspbery 控制房间里的 LED,我做了一个可以通过 SSH 发送的命令(使用 iPhone 快捷方式)。 此代码正在运行并为 LED 设置动画,要关闭所有 LED,我需要按 ctrl+c。有什么办法我也可以通过 SSH 做到这一点,即使我领导它也有一些问题我会在发送第一个命令后重新连接到 wifi,因为它不跟踪已经活动的命令?
我也可以分享代码。
亲切的问候, 谢谢
【问题讨论】:
【参考方案1】:如果您只需要终止进程,您可以使用killall nameoftheprocess
执行此操作,或者如果您知道进程ID,则使用kill pid
。
这里是 kill 的手册页:https://man7.org/linux/man-pages/man2/kill.2.html
假设您使用 bash 脚本启动命令,您应该能够使用 $!
获取 pid,然后您可以将其写入一个临时文件,您可以从中读取以终止进程。
如果您想了解更多细节,分享您的代码会很有帮助。
【讨论】:
可能我描述得不好。我不需要终止进程,只需停止它即可。在终端停止执行, @Directx995 这就是杀戮的意思?或者你停止的意思是别的?当您按下 Control + C 时,kill -2 PID
就是幕后发生的事情。我再次建议您查看 kill 的手册页,也许还有这个,它包含您可以发送的信号列表:man7.org/linux/man-pages/man7/signal.7.html
当我使用命令 kill 将 python3 定位为终端中的返回时,我得到了“终止”,LED 停止动画,但它们仍然亮着。我想我确实需要以某种方式发送命令 ^c。
@Directx995 正如我所说,kill -2 PID
正是 control + c 所做的。
抱歉回复晚了一点。 @b3nj4m1n 这是绝对完美的解决方案。我使用以下代码在树莓sudo python3 /home/pi/rpi_ws281x/python/examples/allLeds_pleasentEffects.py -c
上调用一个小脚本,当我想关闭它时,我只使用上面提到的代码sudo pkill -2 python3
,对目标进程名称而不是 ID 进行了小调整,因为 ID 可以更改。非常感谢以上是关于树莓派控制 SSH的主要内容,如果未能解决你的问题,请参考以下文章