/etc/init.d 脚本

1 投票
3 回答
2929 浏览
提问于 2025-04-16 06:50

我刚接触Python,想要创建一个可以通过 /etc/init.d 命令来控制的脚本,就像用 /etc/init.d something start/stop/restart 这样的方式来启动、停止或重启。

任何建议都很感谢。

3 个回答

1

Pardus 初始化(http://www.pardus.org.tr/eng/projects/comar/SpeedingUpLinuxWithPardus.html)是基于 Python 的,理论上你甚至可以用 Windows 的可执行文件来启动系统(当然是通过 Wine)。在那里你可以看到一个示例初始化脚本,它用 Python 的方式做了几乎和 Shell 脚本一样的事情。

3

请查看这篇文章,了解如何编写一个脚本并放到你的 /etc/init.d 目录下。唯一的不同是,你需要把开头的那一行(也叫哈希bang行)改成指向python,而不是bash:

#!/usr/bin/python
def myfunc():
    print 'myfunct()'

if __name__ == '__main__':
    print 'running python script'
    myfunc()

然后要让这个文件可以执行

chmod +x myscript
1

如果你在找一个可以用来创建守护进程的模块,我之前用过这个:https://gist.github.com/slor/5946334

撰写回答