Linux 如何在启动时运行 python 脚本

WHI*_*LOR 5 linux boot python ubuntu

Linux Ubuntu 14.04 在 ~/app/serve.py 中有一个脚本

需要在这个文件夹中运行它。在壳中我可以做

> cd ~/app && python serve.py
Run Code Online (Sandbox Code Playgroud)

它运行一个服务器

需要在后台启动的服务器上运行它。试图cd ~/app && python serve.py ~在 etc/rc.local(和 etc/init.d/rc.local)中添加这个命令,但它没有启动。

我究竟做错了什么?

Sco*_*otT 5

不要添加cd ~/app && python serve.py/etc/rc.local,而是尝试放入整个路径。您希望 init 进程知道 ~ 不知何故是您的主目录,但 init 以 root 身份启动。因为 init 以 root 身份启动,所以它正在寻找/app 目录而不是您的主目录。使用主目录的路径去掉 ~ 。

尝试添加 /home/whitecolor/app/serve.py/etc/rc.local. (pwd找到您的路径目录。)python通过#!/usr/bin/python在脚本顶部添加来删除 serve.py 脚本前面的。(输入awhich python查找路径,以防它没有安装在正常位置)

编辑:你确实说过“在后台运行”,我错过了。要在后台运行命令,请&在命令后添加一个。因此,要将上面的命令作为背景: /home/whitecolor/app/serve.py & Init 通常不需要背景符号来启动作业并在后台运行它。

DrDR 的好建议&在 cron 启动中的命令之后不需要与默认在后台运行的命令相同的处理。