要实现在树莓派开机时自动运行程序并将终端输出追加到txt文件,您可以按照以下步骤操作:
修改rc.local
-
创建一个需要在开机时运行的程序。假设您的程序名为
my_program.py
将其放置在您选择的目录中。 -
在命令行终端中,使用以下命令编辑
rc.local
文件:sudo nano /etc/rc.local
-
在打开的
rc.local
文件中,在exit0
行之前添加以下内容(注意替换为您的程序路径):python3 /path/to/my_program.py >> /path/to/output.txt 2>&1
这将运行
python3
命令来执行my_program.py
程序,并将终端输出追加到output.txt
文件中。>>/path/to/output.txt
表示将标准输出追加到文件末尾,而不是覆盖原有内容,如果想覆盖原有内容>>改为>即可。2>&1
表示将标准错误(如果有)也重定向到同一文件。 -
保存并关闭文件。(在 nano 编辑器中,按下 Ctrl + X,然后输入
Y
并按下 Enter 保存退出) -
确保
rc.local
文件具有可执行权限,使用以下命令进行设置:sudo chmod +x /etc/rc.local
-
重新启动树莓派,您的程序将会在开机后自动运行,并且终端输出将被追加到指定的
output.txt
文件中。
请注意,在使用rc.local
方式运行程序时,需要对程序和输出文件的路径进行正确设置。另外,如果您的程序依赖于特定的环境变量或需要等待某些服务启动后才能正常运行,请确保在程序中适当地设置延迟或等待时间。
如果需要延时一段时间再执行程序,修改内容如下
sleep 10#不加单位默认s,m:分钟;h:小时
python3 /path/to/my_program.py >> /path/to/output.txt 2>&1
即使程序未结束,也将终端输出实时追加到log.txt文件中
/home/pi/myprogram/myprogram 2>&1 | tee -a /home/pi/log.txt
bash脚本
1、在/home/pi目录下新建auot_run.sh并写如下内容
在这个脚本中,我们首先切换到你的程序所在的目录,然后使用>>
操作符将程序的标准输出和标准错误追加到指定的日志文件中。2>&1
操作符将标准错误重定向到标准输出,这样标准错误也将被追加到日志文件中。
#!/bin/bash
cd /home/pi/test
./main >> /home/pi/logfile.log 2>&1
2、增加可执行权限
sudo chmod +x auto_run.sh
3、修改rc.local
bash /home/pi/auto_run.sh &