参考:
Linux 守护进程的启动方法 (阮一峰 node举例)
认识系统服务 (daemons) (鸟哥)
linux后台执行命令:&与nohup的用法
Linux 普通进程 后台进程 守护进程

1 普通进程

默认情况下,进程是在前台运行的,这时就把shell给占据了,我们无法进行其它操作。
image.png
查看进程: ps
image.png

2 后台进程

对于那些没有交互的进程,很多时候,我们希望将其在后台启动,可以在启动参数的时候加一个’&’实现这个目的
切换到后台的进程称为job。切换到后台时会输出相关job信息.
后台进程还会有stdout和stderr。但是不受stdin影响。
比如以下: 进程id为63277
image.png
查看进程: ps 或 jobs
image.png
image.png
但是一旦当前终端关闭(即退出当前帐户),该程序就会停止运行。

2.1 nohup命令 ( no hang up)

如果仅仅如此使用nohup命令的话,程序的输出会默认重定向到一个nohup.out文件下
image.png
如果想把stdout和stderr,输出到其他指定文件,可以使用数据流重定向
image.png
image.png

3 守护进程(daemon)

如果一个进程永远都是以后台方式启动,并且不能受到Shell退出影响而退出,一个正统的做法是将其创建为守护进程(daemon)。守护进程值得是系统长期运行的后台进程,类似Windows服务。
守护进程信息通过ps –a无法查看到,需要用到–x参数.