在Ubuntu启动时运行Python脚本[失败]

时间:2017-03-28 03:16:57

标签: linux python-2.7 ubuntu boot autostart

我想在Ubuntu中启动时运行python脚本。 我尝试在stackoverflow中引用一些现有的解决方案,但不知怎的,我不能让它工作。 任何人都可以告诉我我错过了哪些信息!

参考文献1

在Ubuntu启动时运行Python脚本,由@RickyA回答

将它放在/etc/init中(在Ubuntu 15.x中使用/ etc / systemd)

mystartupscript.conf

start on runlevel [2345]
stop on runlevel [!2345]
exec /path/to/script.py

通过将此conf文件放在那里,您可以使用ubuntu的启动服务来启动服务。

手动启动/停止是通过 sudo service mystartupscript start sudo service mystartupscript stop

完成的

参考1的结果

就我而言,我想在启动时运行的python脚本位于/home/aspma/Dropbox/Linux/c_lynda_program_backup_script.py

当我尝试从终端窗口手动启动服务时,收到一条错误消息: start Job failed to start

Screenshot of mystartupscipt.conf file that i added inside /etc/init and its failed attempt for manual starting the service

参考2

如何在@Germar回答的Bootup上启动Python脚本

您可以将其添加到/etc/rc.local。这可以用于在系统启动时运行脚本和程序,这些脚本和程序没有自己的运行级别脚本。它将以root

运行

运行sudo nano /etc/rc.local并在退出0之前添加您的行

#!/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.

python /home/my-sickbeard-install/SickBeard.py 2>&1 >/dev/null &

exit 0

参考2的结果

就我而言,我想在启动时运行的python脚本位于/home/aspma/Dropbox/Linux/c_lynda_program_backup_script.py

Screeenshot of file that is edited in /etc/rc.local

这也不起作用

虚拟机详细信息

Ubuntu版本14.04.5 LTS

Python 2.7.6

1 个答案:

答案 0 :(得分:0)

我设法让python脚本在启动时自动运行,在参考文献2中给出的解决方案中增加了一个步骤(参见问题)。

通过将python脚本的目录添加到PYTHONPATH,我能够使它工作。

要将目录永久添加到PYTHON PATH,请将其添加到~/.bashrc

export PYTHONPATH=$PYTHONPATH:/my/other/folder_containing_python_script

感谢帖子:Permanently add a directory to PYTHONPATH