云计算百科
云计算领域专业知识百科平台

linux——网络(服务器的永久不挂——守护进程)


文章目录


目录

文章目录

前言

一、前后台进程

1. 前台进程 (Foreground Process)

2. 后台进程 (Background Process)

3. 前后台进程的切换

4. 关键命令和操作

5. 注意事项

6. 信号处理

二、守护进程 

1. 守护进程的核心特点

2. 常见守护进程示例

3.接口介绍

1、 fork()

2. setsid()

3. chdir()

4. umask()

5. close()

4. 如何创建守护进程?

步骤解释:

5. 管理守护进程的工具

6. 守护进程 vs 前后台进程

7. 注意事项

总结

三、tcp连接机制

1. 三次握手(Three-Way Handshake)

步骤:

为什么需要三次握手?

2. 四次挥手(Four-Way Handshake)

步骤:

为什么需要四次挥手?

TIME_WAIT状态

3. 全双工通信(Full-Duplex)

特点:

示例:

总结

四、网络通信中的序列及反序列

一、序列化的作用

二、反序列化的作用

三、应用场景

四、常见序列化技术

五、安全问题

总结

总结


前言

Linux——网络(tcp)-CSDN博客


一、前后台进程

1. 前台进程 (Foreground Process)

  • 定义:默认情况下,用户在终端启动的进程会占用终端输入/输出,称为前台进程。

  • 特点:

    • 进程运行时,终端被“锁定”,用户必须等待进程结束才能输入新命令。

    • 进程的输出直接显示在终端,用户可以通过键盘输入与进程交互(如输入参数或终止信号)。

  • 示例:

    # 启动一个前台进程(例如 ping 命令)
    ping example.com


2. 后台进程 (Background Process)

  • 定义:进程在后台运行,不占用终端输入/输出,用户可继续使用终端执行其他命令。

  • 特点:

    • 终端不会被阻塞,用户可以继续输入命令。

    • 进程的输出仍可能显示在终端(可能干扰当前操作),建议重定向输出到文件。

    • 后台进程的生存期可能与终端会话绑定(若终端关闭,后台进程可能被终止,需使用 nohup 或 disown 避免)。

  • 启动方式:

    # 在命令末尾添加 & 符号
    ping example.com &


3. 前后台进程的切换

  • 将前台进程放到后台:

  • 按下 Ctrl + Z 暂停当前前台进程。

  • 输入 bg 命令将暂停的进程转为后台运行。

  • 查看后台进程列表:

    jobs -l

  • 将后台进程切换到前台:

    fg %<job_number> # 例如 fg %1


4. 关键命令和操作

命令
作用
command & 直接启动后台进程
Ctrl + Z 暂停当前前台进程
bg 将最近暂停的进程转为后台运行
fg %n 将后台进程 n 切换到前台
jobs -l 列出所有后台/暂停的进程及其编号
nohup command & 启动后台进程,终端关闭后仍存活
disown 断开进程与终端的关联

5. 注意事项

  • 输出干扰:后台进程的输出可能混杂在终端中,建议使用输出重定向:

    command > output.log 2>&1 &

  • 终端关闭问题:默认情况下,终端退出时会终止所有关联的后台进程。若需持久化运行:

    • 使用 nohup:

      nohup command &

    • 使用 disown:

      command &
      disown %1 # 脱离终端关联

    • 使用终端复用工具(如 tmux 或 screen)。


6. 信号处理

  • 前台进程可直接接收终端信号(如 Ctrl + C 发送 SIGINT,Ctrl + Z 发送 SIGTSTP)。

  • 后台进程默认不接收键盘输入信号,但可能收到终端关闭时的 SIGHUP 信号(需通过 nohup 或 disown 避免)。


通过灵活使用前后台进程,可以高效管理终端任务,尤其适合需要长时间运行或并行操作的情景。

在 Linux 中,**守护进程(Daemon Process)**是一种特殊的后台进程,通常用于长期运行的服务或任务(如 Web 服务器、数据库服务等)。它完全脱离终端控制,独立于用户会话,生命周期与系统运行一致。以下是守护进程的特点及示例:


二、守护进程 

1. 守护进程的核心特点

  • 脱离终端:不依赖于任何终端,即使启动它的终端关闭,守护进程依然运行。

  • 无交互界面:不与用户直接交互,通常以静默模式运行。

  • 长期运行:持续驻留内存,提供系统级服务。

  • 独立环境:

    • 工作目录通常设置为根目录(/),避免占用挂载点。

    • 文件权限掩码(umask)设为 0,确保文件操作权限可控。

    • 关闭不必要的文件描述符(如标准输入、输出、错误流)。


2. 常见守护进程示例

  • 系统服务:

    • sshd:SSH 远程登录服务。

    • nginx/apache:Web 服务器。

    • cron:定时任务调度服务。

  • 自定义守护进程:

    • 日志监控脚本。

    • 自动化备份服务。


3.接口介绍

1、 fork()
  • 功能:用于创建一个新的进程,这个新进程是调用进程(父进程)的副本,被称为子进程。在调用 fork() 之后,父进程和子进程会从 fork() 调用处开始继续执行,通过 fork() 的返回值来区分是父进程还是
赞(0)
未经允许不得转载:网硕互联帮助中心 » linux——网络(服务器的永久不挂——守护进程)
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!