我有一个 python 脚本,它从传入的序列字符串中提取连续数据并将字段插入到 Sql 数据库中。
该 Python 脚本可以从 LX 终端手动运行,并且运行成功航站楼保持开放。这可以通过检查关联网站轻松测试,该网站使用 PHP 脚本从数据库中提取数据并将其显示在 HTML 页面中。
我尝试过多种方法让 Python 脚本在重启时自动执行。我最接近的方法是让终端暂时打开,开始运行 Python 脚本然后关闭。我曾尝试将终端的打开延迟几秒钟,以确保不会与桌面或其他应用程序的启动发生冲突,但没有成功。
已尝试过的技术包括:
- 在 ~/.config/autostart 中创建一个 .desktop 文件以在 LX 终端中启动 python 脚本。我还尝试通过 .sh 脚本将 .desktop 文件的启动延迟 10 秒(sleep 10)。
- 使用 cron 作业中的 @reboot 命令启动 Python 脚本。
- 在 /etc/init 中使用 Upstart 和 .config 文件。
- 修改 /etc/rc.local 文件以运行 Python 脚本。
我不认为这是一个权限问题,因为 /usr/bin/python ~/user/file.py 命令和 .desktop 文件可以手动运行。
任何帮助将不胜感激。
该环境是一个在 ARM 处理器上运行 Ubuntu 的 UDOO Quad SBC,其中嵌入式 Arduino Due 捕获传感器数据并将字符串传输到 ARM 处理器。
答案1
编写一个启动 Python 脚本的 shell 脚本,并将该 SHELL 脚本添加到启动程序列表中,以便每次重启时自动启动它。
Shell 脚本:在 Shell 脚本中执行 Python 程序.
还有一个有用的链接:如何在 Ubuntu 机器上后台运行 Python 程序?
每次重启时运行它:如何在启动时运行 shell 脚本。