文盘Rust -- 把程序作为守护进程启动( 二 )

首先获取当前的工作目录,默认情况下 daemonize 会将工作目录设置为 "/",为了避免权限问题,我们获取当前目录作为守护进程的工作目录 。不知道是什么原因,在配置了pid_file 后,启动守护进程时并没在文件中有记录 pid 。不过也没关系,我们可以在外部获取并记录守护进程的pid 。
两种方式启动的守护进程均可在关闭shell的情况下维持进程运行 。
从实现上来讲,不论是 fork 还是 daemonize 都是 通过unsafe 方式调用了 libc api,类 unix 系统大多跑起来没问题,windows 系统作者没有验证 。
本期关于守护进程的话题就聊到这儿 。
咱们下期见 。
作者:贾世闻

经验总结扩展阅读