将Python脚本作为启动脚本运行时结束?

时间:2012-12-03 00:47:35

标签: python debian boot

我正在使用Debian,我有一个python脚本,我想在rc.local期间运行,以便它将在启动时运行。我已经使用了一个旨在运行和终止的测试文件。

问题是该文件最终应该使用Scheduler无限期运行。它的工作是进行串行读取,对这些读取进行少量处理,然后插入MySQL数据库。但是,如果由于我无法使用Ctrl + C(^ C)提前终止测试脚本而需要进行更改,我很担心无法取消脚本以进入我的登录提示。

我希望有一些我失去的命令可以实现这一目标。是否有另外一个关键命令,我将丢失它将终止python脚本并结束rc.local?

感谢。

编辑:另一个可能对我有帮助的解决方案是,如果有一种方法可以在启动过程中在后台启动python脚本。因此,它将启动脚本,然后允许登录,同时继续在后台运行脚本。

我开始认为这不是可以完成的事情所以其他建议来完成类似于我正在尝试做的事情也会有所帮助。

再次感谢。

2 个答案:

答案 0 :(得分:1)

似乎这对我来说只是一个愚蠢的错误。

我意识到这一点的重点是允许python脚本在启动时作为后台进程运行,所以我添加了“&”在脚本调用结束时就像从shell运行它一样,中提琴我可以通过按“Enter”进入我的密码提示。

我想在这里提出这个答案,以防万一这样做是非常错误的,但它完成了我想要的。

答案 1 :(得分:0)

Making scripts run at boot time with Debian

  1. 将您的脚本放在/etc/init.d/中。因此,如果您的脚本位于名为my_script的文件中,则该文件应位于/etc/init.d/my_script

  2. 以root身份运行update-rc.d my_script defaults

  3. 不要忘记让您的脚本可执行并包含shebang。这意味着脚本的第一行应该是#!/usr/bin/python