/etc/rc.local
将脚本写在/etc/rc.local
文件
输入命令:sudo vi /etc/rc.local
在exit 0
上一行输入:python /usr/bin/python /home/pi/test.py
重启就可以看效果sudo reboot
当然,rc.local 文件需要有执行权限(默认没有)
$ sudo chmod +x /etc/rc.local
对于命令,最好是先which python查出命令路径,写命令时写绝对路径
/etc/init.d
写一个服务放到linux的/etc/init.d
目录中
并且授权bash脚本chmod 755 /etc/init.d/mypython
1 |
|
/ect/profile
/ect/profile 文件是系统默认的主启动文件,系统上每个用户登录时都会执行;
linux 配置文件(启动文件、环境文件)启动顺序
1、登录shell
登录shell时,linux会按一定规则读取启动几个配置文件:
/ect/profile
$HOME/.bash_profile
$HOME/.bashrc
$HOME/.bash_login
$HOME/.profile
其中 /ect/profile 文件是系统默认的主启动文件,系统上每个用户登录时都会执行;
- a、命令行登录和ssh登录,shell会按照以下顺序,运行第一个被找到的文件,余下的会被忽略:
$HOME/.bash_profile
$HOME/.bash_login
$HOME/.profile
上面没有 $HOME/.bashrc ,因为该文件一般通过其他文件运行。
- b、图形界面登录,只加载
/ect/profile
和$HOME/.profile
,其他的会被忽略。
对于 no-login shell,即图形界面打开的shell,只会读入 $HOME/.bashrc 文件,不会检查 /etc/.profile 等其他登录shell文件。
2、交互式shell
不是登录系统时启动,提供命令行提示符来输入命令。(不会访问 /etc/profile 文件,会检查 $HOME/.bashrc 文件)
3、非交互式shell
系统执行脚本时所用,没有命令行提示符。
1. linux将指令加入环境变量
在profile中添加PATH,这种方法对所有用户都是永久生效。
- 打开profile文件
1 | vim /etc/profile |
- 在profile文件的PATH中添加mongo指令。在PATH后面添加“:/usr/local/webserver/mongo/bin”,= 等号两边不能有任何空格。
1 | PATH=``$PATH``:/usr/local/webserver/mongo/bin |
- 执行指令,使profile修改立即生效。
1 | source profile |
在当前profile中添加PATH,这种方法对当前用户永久生效。与第二步类似,将profile替换为bash_profile。
1 | $ vim ~/.bash_profile |
1 | PATH=``$PATH``:/usr/local/webserver/mongo/bin |
1 | $ source ~/.bash_profile |
2. linux将指令加入开机启动
在/etc/rc.local中添加指令即可,在开机执行顺序中/etc/rc.local
优先于/etc/profile
,rc.local开机就会运行,/etc/profile被称为登录脚本,内含许多的全局变量,为用户登录所使用
1 | /usr/local/webserver/mongodb/bin/mongod --dbpath=/data0/mongodb/data --logpath=/data0/mongodb/logs --logappend --port=27017 |
Author: Mrli
Link: https://nymrli.top/2019/03/03/Linux下开机启动Python脚本/
Copyright: All articles in this blog are licensed under CC BY-NC-SA 3.0 unless stating additionally.