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

从CGI脚本启动后台进程守护程序,第1张

从CGI脚本启动后台进程/守护程序 不要分叉-单独运行批处理

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

幸运的是,您提供了所需信息的背景信息-一个CGI调用,以启动一些独立发生的处理并返回给调用者。可以肯定-有unix命令就是这样做的-
计划命令在特定时间(

at
)或每当CPU空闲(
batch
)时运行。因此改为:

import osos.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/htmln'print 'Done!'

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

PS。我只是记得 Windows 也具有的版本

at
,因此,只需稍加修改调用,您就可以在Windows上的apache下进行该工作(vs
fork技巧在Windows上不起作用)。

PPS。确保

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



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5639817.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存