go 守护进程 业务进程 子进程 重启进程 系统信号

1 说一下自己对这个词语的理解

  • 守护进程:就是一直在后台运行,用于去启动其他进程。
  • 子进程:在一段程序中,被启动的程序,被调用的二进制而执行文件。
  • 业务进程:就是执行任务,实现功能的进程。
  • 重启进程:就是守护进程中启动子进程,只是子进程一般是同一个。

2 说说他们之间的联系,或者说通常会怎么用,怎么出现。

  1. 一个代码A里,可以写处理业务的逻辑,可以再写守护进程的逻辑,还可以写其他的,比如调用系统其它程序等等代码。通常通过进程id来区分父子进程。

  2. 一个代码A里,通过os.exit(0)来退出你当前运行的代码A,这样想办法让代码A只运行编写的守护进程的代码段,这就是守护进程

  3. 守护进程可以通过调用子进程的方式,重新调用刚刚的代码A。再执行的时候,想办法让它不要再跑到守护进程的代码段,而是跑到业务逻辑代码段,这样这个程序(进程),这就叫做业务进程

  4. 守护进行一般一直运行,来等待启动的业务进程结束,结束了就重新再启。

3 在区分父子进程,启动子进程,如何关闭守护进程等的一些逻辑控制,可以看看下面几篇文章。

golang 守护进程(daemon)实例——后台运行,重启进程

Golang如何创建守护进程以及平滑重启

理解 Golang 子进程测试

Go如何监听Linux系统信号

你可能感兴趣的:(linux,服务器,运维)