在操作系统启动时运行 Python 脚本

在操作系统启动时运行 Python 脚本

这可能是一个重复出现的问题,但我找不到正确的方法来解决它。

我的情况是什么?->我想运行一个 Python 脚本。

简而言之,python 脚本起什么作用?->运行python脚本来设置虚拟专用网络。

我目前如何手动启动它?->我使用 ./file.py start (这有效)

什么不起作用?->当我尝试在开始时启动(启动)时,它什么也没做。我正在使用 cron 作业,但它根本不起作用,我不想使用它,我想使用 /etc/init.d/。

这是我的 /etc/init/xxx.conf 中的 file.conf

description "file start script"
author "sijan <[email protected]>"



exec python file.py start
exec sleep 10
exec ifconfig ip0 11.0.2.251

exec ip=`ifconfig ip0 | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}'`

exec echo $ip >>/tmp/ip.log

我已在 /etc/init.d/file.py 中添加了 python 文件

由于我对系统层面还很陌生,我可能没有遵循正确的程序来执行此操作,但是任何有关如何进行的想法都非常感谢。我非常希望修复这个问题并学习

答案1

将脚本放入/etc/rc.local。系统启动时,脚本将以 root 身份运行。它也适用于 Raspberry Pi,正如您在评论中指出的那样。

在你的情况下,你想运行它python /path/to/script.py &

这是我的示例rc.local文件,我使用相同的方法运行电池和温度监控脚本

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

/home/xieerqi/bin/batmon.sh &
/home/xieerqi/bin/preventShutdown.sh &
/home/xieerqi/bin/sh/temperature.sh  &

附加信息/etc/rc.local

答案2

你也可以使用 cron 执行此操作将以下内容添加到您的定时任务

@reboot username python /python/to/file.py

您可以或可能不需要用户名在那里。


[编辑]

这种方法有两个注意事项:

  1. 守护cron进程必须正在运行(正常情况下是这样的);
  2. 脚本或 crontab 文件必须包含所需的环境变量(如果有)。

答案3

看起来您需要在电子邮件地址后结束字符串引号,否则其他代码将被视为作者字符串的一部分。

相关内容