我如何 运行 Linux 的 python 程序启动?
How do I run a python program at Linux start up?
我想要 运行 一个简单的 python 程序,它在 PMOD 上显示我的 PYNQ 开发板 (运行 Linux OS) 的 IP 地址OLED.
from netifaces import ifaddresses
IP_addr = ifaddresses('eth0:1')[2][0]['addr']
from pynq.overlays.base import BaseOverlay from pynq.lib import Pmod_OLED
base = BaseOverlay("base.bit")
display = Pmod_OLED(base.PMODA)
display.clear()
display.write("Board IP",1,0)
display.write(IP_addr,1,3)
为了在系统启动时实现 运行,我遵循了 Raspberry Pi 上针对相同内容制作的教程。以下是步骤:
sudo nano /lib/systemd/system/sample.service
添加了以下文本:
[Unit]
Description=My Sample Service
After=multi-user.target
[Service]
Type=idle
ExecStart=/usr/bin/python3 /home/xilinx/sample.py
[Install]
WantedBy=multi-user.target
然后执行以下命令:
$ ExecStart=/usr/bin/python3 /home/xilinx/sample.py > /home/xilinx/sample.log 2>&1
$ sudo chmod 644 /lib/systemd/system/sample.service
$ sudo systemctl daemon-reload
$ sudo systemctl enable sample.service
重新启动系统后,IP 会显示一小会儿,因为系统已终止程序并清除显示而被清除。
如何使代码 运行 停止?
我的问题的答案如下:
原来还有另一个优先级更高的python脚本(/usr/local/bin/flash_leds.py
)正在清除硬件并中断我程序的执行。
因此,更简单的解决方案是将我的代码添加到已经存在的代码中,它工作得很好。
更好的解决方案是在 /etc/init.d/
中创建一个脚本 startup.sh
,让它调用 python3 /home/xilinx/display_ip.py
,使其可执行,然后最后将其配置为在启动时启动命令:
sudo update-rc.d /etc/init.d/startup.sh defaults 100
我想要 运行 一个简单的 python 程序,它在 PMOD 上显示我的 PYNQ 开发板 (运行 Linux OS) 的 IP 地址OLED.
from netifaces import ifaddresses
IP_addr = ifaddresses('eth0:1')[2][0]['addr']
from pynq.overlays.base import BaseOverlay from pynq.lib import Pmod_OLED
base = BaseOverlay("base.bit")
display = Pmod_OLED(base.PMODA)
display.clear()
display.write("Board IP",1,0)
display.write(IP_addr,1,3)
为了在系统启动时实现 运行,我遵循了 Raspberry Pi 上针对相同内容制作的教程。以下是步骤:
sudo nano /lib/systemd/system/sample.service
添加了以下文本:
[Unit]
Description=My Sample Service
After=multi-user.target
[Service]
Type=idle
ExecStart=/usr/bin/python3 /home/xilinx/sample.py
[Install]
WantedBy=multi-user.target
然后执行以下命令:
$ ExecStart=/usr/bin/python3 /home/xilinx/sample.py > /home/xilinx/sample.log 2>&1
$ sudo chmod 644 /lib/systemd/system/sample.service
$ sudo systemctl daemon-reload
$ sudo systemctl enable sample.service
重新启动系统后,IP 会显示一小会儿,因为系统已终止程序并清除显示而被清除。 如何使代码 运行 停止?
我的问题的答案如下:
原来还有另一个优先级更高的python脚本(/usr/local/bin/flash_leds.py
)正在清除硬件并中断我程序的执行。
因此,更简单的解决方案是将我的代码添加到已经存在的代码中,它工作得很好。
更好的解决方案是在 /etc/init.d/
中创建一个脚本 startup.sh
,让它调用 python3 /home/xilinx/display_ip.py
,使其可执行,然后最后将其配置为在启动时启动命令:
sudo update-rc.d /etc/init.d/startup.sh defaults 100