通过 & 命令在后台运行 运行 的服务和进程之间的区别

Difference between a service and a process which is running in a background by & command

我是一名 CS 学生,最近成为 Linux 的忠实粉丝。

我发现 运行 进程在后台有两种方式。

首先,用户使用 & 命令在 shell 中明确启动一个进程。

./main &

其次,service --status-all命令查到的进程。

service --status-all

就我而言,我可以找到 'bluetooth'、'redis-server'、'mosquitto'、...

我认为它们的相同之处在于都在背景中 运行。

但我想知道它们之间更准确和详细的区别(如果有的话)。

第一个是在您的本地术语上启动的,"pushed" 在后台启动。您可以使用 jobs 命令查看它。例如,使用 fg 命令推入前台。 当您关闭当前任期时,第一个命令被终止。

第二个是守护进程,没有分配给终端。它 运行 每次