您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

从CGI脚本启动后台进程/守护程序

从CGI脚本启动后台进程/守护程序

这种双重分叉的方法是一种hack,对我而言,这表明不应该这样做:)。无论如何对于CGI。根据一般原则,如果某件事太难完成,那么您可能会错误地进行处理。

幸运的是,您提供了所需信息的背景信息-一个CGI调用,以启动一些独立发生的处理并返回给调用者。可以肯定-有unix命令就是这样做的- 计划命令在特定时间(at)或每当cpu空闲(batch)时运行。因此改为:

import os

os.system("batch <<< '/home/some_user/do_the_due.py'")
# or if you don't want to wait for system idle, 
#   os.system("at Now <<< '/home/some_user/do_the_due.py'")

print 'Content-type: text/html\n'
print 'Done!'

那里有。请记住,如果有一些输出到stdout / stderr,它将被发送给用户(这对于调试非常有用,但是脚本可能应该保持安静)。

PS。我只是记得 也具有的版本at,因此,只需稍加修改调用,您就可以在Windows上的apache下进行该工作(vs fork技巧在Windows上不起作用)。

PPS。确保/etc/at.deny计划批处理作业中不排除运行CGI的进程

其他 2022/1/1 18:35:12 有569人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶