当前位置:   article > 正文

嵌入式linux通过systemd自启动一个python代码_systemd自启动python命令

systemd自启动python命令

一直想实现一段自启动的代码,今天尝试了下,成功了,做个记录。

首先,我用的是imx6ull处理器,嵌入式linux内核版本为4.9.88

然后,上位机用的虚拟机ubuntu22.04.01。

先在ubuntu上面试了试,能够自启动,然后再下载到imx6上,成功。

1.我们需要在/etc/systemd/system中添加后缀为.service的配置文件。

例子我创建了/etc/systemd/system/autostart.service,注意把/home/root/python/autostart.sh改为自己的本地文件

  1. [Unit]
  2. Description=python_detection
  3. Documentation=
  4. After=network.target
  5. Wants=
  6. Requires=
  7. [Service]
  8. ExecStart=/home/root/python/autostart.sh
  9. ExecStop=
  10. ExecReload=/home/root/python/autostart.sh
  11. Type=forking
  12. [Install]
  13. WantedBy=multi-user.target

2.创建/home/root/python/autostart.sh文件如下,注意/home/root/python/mydeamon.py的目录

  1. #!/bin/sh
  2. sleep 10
  3. cd /home/root/python/
  4. sudo /usr/bin/python3 mydeamon.py &

3.创建/home/root/python/mydeamon.py如下,程序打开一个f.txt,每次写10行(0,9)之间的随机数。

  1. import os
  2. import sys
  3. import random
  4. f=open('f.txt','a')
  5. for i in range(0,10):
  6. f.writelines(str(random.randint(0,9)))
  7. f.write("\n")
  8. f.close()

4.使用如下命令测试autostart.service是否能够正常运行:

sudo systemctl start autostart.service

5.使用如下命令查看程序是否正常运行

sudo journalctl -f -u autostart.service

6.如果能够正常运行,设置开机启动:

sudo systemctl enable autostart.service

7.重启试试吧,哈哈。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/50992
推荐阅读
相关标签
  

闽ICP备14008679号