PC&树莓派4B开机自动启动python脚本 自启

本文介绍了在RaspberryPi上使用sh脚本实现Python程序开机自启动的方法,以及在Windows环境下通过start.bat文件配置Python项目开机启动,包括使用conda环境和cmd窗口控制的技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Raspberry Pi一种开机自启动简单方法_raspberrypi 6.1.19自启动-CSDN博客

https://forums.raspberrypi.com/viewtopic.php?t=294014

在一个sh脚本里面,写

先cd到要运行的python脚本目录,然后再python XX.py

然后找到

/etc/xdg/lxsession/LXDE-pi/autostart

或者用户路径下

/home/pi/.config/lxsession/LXDE-pi/

 只要有autostart这个文件就好,然后编辑autostart,

sudo nano autostart

nano编辑文本比较好用

我想用终端运行python文件,就在最后加上@lxterminal -e bash /path/my_script

就能启动了


windows自启动python脚本

1. 新建一个start.bat文件:

cmd /k "activate conda的环境 && cd /d C:\Users\文件所在路径 && python manage.py runserver 0.0.0.0:8000"
  • cmd /k: 启动一个新的命令提示符窗口,并保持该窗口打开,而不会立即关闭。

 /d 标志用于切换到指定驱动器的目录。

&&: 表示在前一个命令成功执行后,执行下一个命令。

或 

python E:\test.py

pause

其中E:\test.py为需要开机自启动的python文件的位置。

保存文件。

cmd延迟启动命令

choice /C yn /T 10 /D y >nul

2. 将start.bat文件放入开机自启动文件夹下:

也可以win+R,输入shell:startup ,会自动跳到以下路径

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp

批处理如何实现cmd窗口最小化_bat运行最小化cmd窗口-CSDN博客
上面的链接提供了批处理最小化的写法

@echo off
%1(start /min cmd.exe /c %0 :&exit)
python C:\PycharmProjects\C\main.py

这段命令 @echo off %1(start /min cmd.exe /c %0 :&exit) 的作用是:

  1. @echo off:这条命令用于关闭命令回显,即在执行后续命令时,不会在命令行界面显示这些命令本身。

  2. %1:这是一个变量,代表传递给批处理文件的第一个参数。如果没有任何参数传递给批处理文件,%1 就是空的,所以它在这里不会影响命令的行为。

  3. start /min:这条命令用于启动一个新的命令行窗口,并且这个窗口会被最小化显示。

  4. cmd.exe /ccmd.exe 是 Windows 的命令行解释器,/c 参数告诉 cmd.exe 执行完后面的命令后关闭命令行窗口。

  5. %0:这代表当前批处理文件的名称,即执行的脚本本身。

  6. ::这是一个标签,用于 goto 命令跳转,但在这段命令中,它被用作 cmd.exe 的参数,使得 cmd.exe 执行后不执行任何操作并退出。

  7. &exit& 是命令分隔符,它允许在一条命令行中执行多个命令。exit 命令用于退出当前的命令行窗口。

综上所述,这条命令的作用是在不显示任何命令的情况下,最小化启动一个新的命令行窗口来执行当前的批处理文件,并且执行完毕后自动关闭新开的命令行窗口

目前在用的
echo off
cd /d C:\Users\server\EdgeServer
call activate py310
start /min python main.py

echo offcallstart 都是批处理脚本(Batch Script)中的语法。它们是用来编写 .bat.cmd 文件的命令,用于实现自动化任务。 

echo off 关闭回显

cd /d 有了/d可以直接切换到别的驱动盘

call 这个可以activate虚拟环境

start /min 最小化py

另一种简单写法
cmd /k "activate py310 && cd C:\Users\server\EdgeServer && python main.py"

它并不是批处理脚本的一部分,而是直接在命令行(Command Prompt)中运行的一条命令 

 


Linux nohup

让一个python程序一直后台运行

终端敲

nohup python xx.py

要停止运行

ps -aux | grep xx.py 
  1. ps:这是一个用来显示当前系统中的进程状态的工具。

  2. -aux:这是ps命令的参数,用来指定输出格式。

    • a 表示显示所有与终端会话关联的进程。
    • u 表示以用户易读的格式显示。
    • x 表示显示没有控制终端的进程。
  3. |:这是一个管道符,它将前一个命令的输出作为下一个命令的输入。

  4. grep:这是一个文本搜索工具,用于搜索包含特定模式的行。

  5. xx.py:这是grep命令要搜索的模式,即查找所有包含“xx.py”字符串的行。

综合起来,这行命令的作用是列出系统中所有与“xx.py”相关的进程信息。这通常用于监控或调试名为“xx.py”的Python脚本的运行情况。输出结果将包括进程ID、运行用户、CPU和内存使用情况等详细信息。

一般会找到两个进程号,要把两个进程号都kill掉

sudo kill -9 2591327 2746111 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值