Ste*_*zzo 16
简而言之,守护进程是一个后台进程。
守护进程可以只是在后台运行的普通程序,但是大多数是通过启动一个进程、派生它并退出父进程来创建的。
fork 进程意味着创建它的精确副本。如果真正的父进程立即终止,该进程的父进程现在是init进程/sbin/init
,它是每个类 Unix 操作系统上启动的第一件事。现在,该进程被称为守护进程,它没有与之关联的 TTY。
这是 Python 中守护进程的示例:
import sys, os, time
pid = os.fork()
# there now exist two processes
if pid > 0: # If this is the parent,
sys.exit(0) # quit.
# this is the background part:
time.sleep(5)
print "Hello, World!"
Run Code Online (Sandbox Code Playgroud)
严格来说,它还不是一个。您还必须更改当前工作目录,将标准输入和输出重新定义为日志文件等。您可以阅读这篇维基百科文章中的血腥细节。
如果您运行该示例,您会注意到,即使您在命令行上启动的进程已终止,它也会在两秒钟后打印出来。该进程的副本现在由 init 运行。
归档时间: |
|
查看次数: |
15505 次 |
最近记录: |