百度
360搜索
搜狗搜索

linux命令停止后继续运行详细介绍

在 Linux 中,若希望命令在终端关闭或会话断开后继续运行,常用以下几种方法,具体取决于需求(如是否需要后台运行、是否需要重新连接会话等):

一、
nohup + &:后台运行且忽略挂断信号

适用于 无需交互、终端关闭后持续运行 的任务(输出默认保存到 nohup.out)。

用法:

bash

 命令   

  • nohup:使命令忽略终端挂断信号(HUP),即使关闭终端也不会终止。
  • &:将命令放入后台运行,终端可继续执行其他操作。
  • 输出默认重定向到当前目录的 nohup.out,可通过 tail -f nohup.out 查看日志。
  • 若需指定输出文件:bash
     命令  日志文件.log >   

管理后台任务:

  • 查看当前会话的后台任务:jobs
  • 恢复后台任务到前台:fg %任务编号(如 fg %1
  • 再次放入后台:bg %任务编号
  • 终止后台任务:kill %任务编号

二、
终端复用器:Screen / Tmux

适用于 需要长时间运行、支持断开后重新连接并交互 的任务(如 SSH 会话断开后继续运行)。

1.
Screen 工具(需先安装,Debian/Ubuntu:
apt install screen

  • 创建新会话:bash
      会话名  

  • 在会话中运行命令(如 topvim 等),直接关闭终端或断开 SSH。
  • 重新连接会话:bash
      会话名  

  • 临时分离会话(不终止任务,回到原终端):按 Ctrl+A 后再按 D

2.
Tmux 工具(功能更强大,推荐使用,安装:
apt install tmux

  • 创建新会话:bash
    tmux new  会话名  

  • 分离会话:按 Ctrl+B 后再按 D
  • 查看所有会话:tmux ls
  • 重新连接会话:bash
    tmux attach  会话名

  • 更多功能:分屏、会话共享等,通过 tmux help 学习。

三、
disown:让现有后台任务忽略挂断信号

若命令已在后台运行(如用 & 启动),但未用 nohup,可通过 disown 使其忽略 HUP 信号:
bash

disown %1

四、
系统服务(systemd)

若需长期运行且作为系统服务管理(如 Web 服务、定时任务),可编写.service文件并加入 systemd 管理(适用于 CentOS 7+/Ubuntu 16.04+):

  1. 创建服务文件:bash
      /etc/systemd/system/自定义服务名.service

  2. 写入内容(示例):ini

  3. 启动并启用服务:bash
     systemctl start 自定义服务名.service

    systemctl 自定义服务名.service

总结选择:

  • 简单后台运行且无需交互:用 nohup 命令 &
  • 需要断开后重新连接并交互:用 screentmux
  • 长期运行的服务:用 systemd 或 supervisor。

根据具体场景选择合适的方法,确保任务在终端关闭后仍能持续运行。

阅读更多 >>>  linux如何查看剩余内存大小

网站数据信息

"linux命令停止后继续运行"浏览人数已经达到19次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:linux命令停止后继续运行的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!