Ubuntu设置开机自启动shell脚本和python脚本
1. 说明
以下关于开机自启动的设置,在 Ubuntu20.04 下测试有效。
主要修改的文件为 /etc/rc.local 或者 /etc/profile ,这两个修改任意一个都可以。
下面以 /etc/rc.local 为例,开始按照步骤来设置。
2. 创建脚本文件
打开命令行,输入下面命令:
touch selfStart.py
touch selfStartShell.sh
sudo chmod 777 selfStartShell.sh
sudo chmod 777 selfStart.py
这里就是在你的用户文件夹下创建了两个文件并赋予权限,一个是python的,一个是shell的,如下位置:
打开 selfStart.py 文件,输入以下内容:
# this is a self-start test (python)
import os
curPath=os.getcwd()
f=open(curPath+'/selfPython.txt','w')
f.write('Self start python')
f.close()
保存并退出编辑
打开 selfStartShell.sh 文件,输入以下内容:
#!/bin/sh
# self start shell test
curDir=$(cd "$(dirname "$0")"; pwd)
fileName='/selfStartShell.txt'
touch $curDir$fileName
echo 'Self start shell' > $curDir$fileName
保存并退出编辑
2. 测试脚本文件
在命令行输入以下内容,分别运行python脚本和shell脚本:
python3 selfStart.py
./selfStartShell.sh
可以看到两个脚本的运行结果,分别产生一个txt文件:
每个txt文件中都有输入的相应内容,证明写的代码没有问题。
接着我们删掉这俩文件,如果我们配置成功,那么我们开机之后会自动生成这两个文件。
3. 配置 rc.local 文件
在命令行输入以下命令,修改 rc.local 的权限以及开始编辑rc.local:
sudo chmod 777 /etc/rc.local
sudo gedit /etc/rc.local
这样会打开 rc.local 文件,我们将文件内容编辑为:
#!/bin/sh -x
cd /home/wenyu
/usr/bin/python3 /home/wenyu/selfStart.py &
/home/wenyu/selfStartShell.sh &
exit 0
路径中的 wenyu 是我的账户名,你需要替换为自己的。
保存并退出编辑。
4. 模拟重启
在命令行输入以下命令:
systemctl restart rc-local
会让你输入密码认证,认证之后可以看到文件出现了:
这是的命令是直接模拟重启的过程,是成功的。
删除生成的txt文件,真正重启。
5. 重启验证效果
在命令行输入以下命令:
sudo reboot
等待重启,完成后,我们打开主目录,看到出现了预期中的两个txt文件:
达到了预期的效果,完成。