共享目录的python脚本,通过updaterd.c添加到startup中,挂起b

2024-06-07 00:06:13 发布

您现在位置:Python中文网/ 问答频道 /正文

好吧,我到处找,找到了我的拼图,但没有找到答案。在

我想通过http共享一个目录,而不必担心apache等。所以我准备了一个简单的脚本(称为tftp)-www.py网站)公司名称:

#!/usr/bin/env python
import SimpleHTTPServer
import SocketServer
import os
os.chdir("/var/lib/tftproot")
PORT = 8000
Handler = SimpleHTTPServer.SimpleHTTPRequestHandler
httpd = SocketServer.TCPServer(("", PORT), Handler)
print "Server running on port ", PORT
httpd.serve_forever()

chmod到755,运行它,不管我从哪里运行它,它都能完美地工作。 现在我希望它在启动时运行,在任何人登录之前,这样这个目录将始终是共享的。 因此,我将该文件复制到/etc/init.d中,并按照有关如何向启动添加脚本的说明运行以下命令:

^{pr2}$

此时我重新启动进行测试,服务器(ubuntu10.10)在引导过程中挂起。一旦我进入恢复模式并删除了脚本

update-rc.d -f tftp-www.py remove

服务器正常启动。在

那么,我做错什么了? 谢谢!在


Tags: 答案pyimport服务器目录脚本httpos
1条回答
网友
1楼 · 发布于 2024-06-07 00:06:13

Debian/ubuntu风格的更新rc.d和启动脚本是为shell脚本设计的,需要元数据部分:

#! /bin/sh
### BEGIN INIT INFO
# Provides:          rc.local
# Required-Start:    $remote_fs
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:
# Short-Description: Run /etc/rc.local if it exist
### END INIT INFO

看看/etc/init.d/skeleton(至少在Debian上有,对Ubuntu不太确定)。为程序创建shell启动脚本,然后在do_start()函数中运行它。在

相关问题 更多 >