linux開機執行python腳本


一、利用init
1、系統有相應的python解釋器,並在腳本頭部聲明,例如:#!/usr/bin/python
2、給予該腳本可執行權限,如:chmod +x somescript.py
3、腳本接受第一個命令參數,需要能接受至少包含start的參數,至於stop、restart以及status等並不是必須的,你可以自己來擴展。如: ./somescript.py start 這種命令格式來啟動程序
4、將該腳本放到/etc/rc.d/init.d/路徑下
5、chkconfig --add somescript.py添加服務
6、chkconfig --level 3 somescript.py on   在init為3或5的級別上開機啟動該服務

在運行chkconfig時,程序會報錯,需要在文件中加入:

1 #chkconfig:- 85 15
2 #description:xxxx is a service

 

建議將init級別設置為3,因為設置為5時,會運行兩次腳本。

后期發現,級別3也存在同樣的問題。

二、利用systemd

編寫device.service腳本

 
        
 1 [Unit]
 2 Description=xxxx
 3 After=network.service
 4  5 [Service]
 6 Type=simple
 7 User=root
 8 Group=root
 9 WorkingDiretory=/var/www/html/app10 ExecStart=/usr/bin/python app.py
11 12 [Install]
13 WantedBy=multi-user.target

 

將該腳本復制到/etc/systemd/system/,將app.py腳本賦予執行權限:

1 chmod +x app.py

 

啟動服務:

 
        
1 systemctl start app.service

 

查看服務狀態:

 
        
1 systemctl status app.service

 

停止服務:

 
        
1 systemctl stop app.service

 

大功告成!!!

現在Linux平台大都提供systemd,個人推薦使用systemd。systemd教程請移步阮一峰的教程


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM