daemon、&、nohup、守护进程、后台进程的区别

0    386    2

Tags:

👉 本文共约1206个字,系统预计阅读时间或需5分钟。

简介

这些术语都与进程管理和后台运行有关。以下是它们的区别:

  1. 守护进程(Daemon):守护进程是在后台运行的一种特殊进程,它通常在系统启动时启动,并一直运行直到系统关闭。守护进程通常没有控制终端,它在后台执行特定的任务或提供某种服务,如网络服务或系统监控。
  2. &(后台运行符):在Linux和类Unix系统中,使用&符号将一个进程放到后台运行。例如,执行command &时,command将在后台运行而不阻塞当前终端,使你可以继续输入其他命令。
  3. nohup:nohup是一个命令,用于运行命令时忽略挂断信号(SIGHUP)。通常,当你退出终端会话时,终端会发送SIGHUP信号给所有与终端相关联的进程,这会导致这些进程终止。通过在命令前使用nohup,你可以使命令继续在后台运行,而不受SIGHUP信号的影响。
  4. 后台进程:后台进程是指在后台运行的进程,即不占用当前终端并且不需要与用户交互的进程。在Linux和类Unix系统中,可以通过将进程放在后台运行(使用&符号)或使用nohup命令来创建后台进程。

守护进程与后台进程的区别:

(a)守护进程已经完全脱离终端控制台了,而后台程序并未完全脱离终端,在终端未关闭前还是会往终端输出结果
(b)守护进程在关闭终端控制台时不会受影响,而后台程序会随用户退出而停止,需要在以nohup command & 格式运行才能避免影响

-- daemon 参数在任意程序中都能使用吗??

不是所有程序都支持在命令行中使用--daemon参数。--daemon参数通常用于特定的程序或工具,用于将其转换为守护进程模式。它会导致程序在后台运行,并分离它与终端的关联。

程序是否支持--daemon参数取决于该程序的实现。它需要在程序代码中显式地处理该参数,并执行必要的操作将其转换为守护进程。因此,只有那些有意支持守护进程模式的程序才会在其命令行选项中提供--daemon参数。

本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信dbaup66,谢谢!
AiDBA后续精彩内容已被站长无情隐藏,请输入验证码解锁本文!
验证码:
获取验证码: 请先关注本站微信公众号,然后回复“验证码”,获取验证码。在微信里搜索“AiDBA”或者“dbaup6”或者微信扫描右侧二维码都可以关注本站微信公众号。

标签:

Avatar photo

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复