2024-05-23 17:59:41 发布
网友
可以将Python脚本作为后台服务在web服务器上运行吗?我想为socket communication.做这个
这里有非常有用的Pypi package,这是用Python编写守护进程的基础。
你可以让它成为一个守护进程。有一个更完整的解决方案,但我发现这是一个很好的工作。
import os, sys def become_daemon(our_home_dir='.', out_log='/dev/null', err_log='/dev/null', pidfile='/var/tmp/daemon.pid'): """ Make the current process a daemon. """ try: # First fork try: if os.fork() > 0: sys.exit(0) except OSError, e: sys.stderr.write('fork #1 failed" (%d) %s\n' % (e.errno, e.strerror)) sys.exit(1) os.setsid() os.chdir(our_home_dir) os.umask(0) # Second fork try: pid = os.fork() if pid > 0: # You must write the pid file here. After the exit() # the pid variable is gone. fpid = open(pidfile, 'wb') fpid.write(str(pid)) fpid.close() sys.exit(0) except OSError, e: sys.stderr.write('fork #2 failed" (%d) %s\n' % (e.errno, e.strerror)) sys.exit(1) si = open('/dev/null', 'r') so = open(out_log, 'a+', 0) se = open(err_log, 'a+', 0) os.dup2(si.fileno(), sys.stdin.fileno()) os.dup2(so.fileno(), sys.stdout.fileno()) os.dup2(se.fileno(), sys.stderr.fileno()) except Exception, e: sys.stderr.write(str(e))
您可能想签出Twisted。
这里有非常有用的Pypi package,这是用Python编写守护进程的基础。
你可以让它成为一个守护进程。有一个更完整的解决方案,但我发现这是一个很好的工作。
您可能想签出Twisted。
相关问题 更多 >
编程相关推荐