|
|
1
5
问题是,您希望在生成守护程序之前给出错误消息,并且在生成守护程序之后知道PID文件。 因此,您通常在fork之前打开pidfile,这使您有可能给出错误消息。分叉后,您知道pidfile,可以进行pidfile_写入。 |
|
|
2
1
在进入后台之前打开pidfile_(3),这样就可以立即报告任何问题。你还没有写pid,因为你的pid会在守护进程(3)之后改变。pidfile_open(3)仅锁定pidfile。在守护进程(3)之后,您可以调用pidfile_write(3),因为您现在有了最终的pid(守护进程(3)在内部分叉)。在主进程中,您不能调用pidfile_close(3),因为这是整个想法——通过保持pidfile打开并锁定,您可以让其他人知道您仍然活着。第二个叉子是完全可选的。它说明守护进程产生子进程/工作进程的常见行为。如果你不使用它们,你就不需要这个叉子()。这个fork()只显示在这样的工作进程中,您应该关闭pidfile,所以它只由主进程而不是子进程保持打开和锁定。 |
|
|
MaPo · Linux,设置锁定ICMP_过滤器选项 1 年前 |
|
Doohyeon Won · 内联函数上的奇怪现象?[关闭] 1 年前 |
|
|
Bobby · 复合字面值总是左值吗? 1 年前 |
|
9-Pin · C: 嵌套结构的堆栈内存分配 1 年前 |