Linux 中怎样把正在执行的任务放到后台执行

打印 上一主题 下一主题

主题 906|帖子 906|积分 2718

在使用 Linux 的过程中,大概会碰到某些任务需要在后台运行的情况,比方长时间运行的脚本或占用终端的命令。将正在执行的任务放到后台,可以进步操作效率,不需要为每个任务单独开一个终端窗口。本文将介绍几种常用的方法来实现这一目标。
1. 停息任务并发送到后台

当任务已经在前台运行时,可以使用快捷键和命令将其切换到后台运行:

  • 停息任务:
    在任务运行时,按下快捷键 Ctrl+Z,这会将任务停息并返回到终端。系统会提示类似以下信息:
    1. [1]+  Stopped    command_name
    复制代码
  • 将任务移到后台继承运行:
    在终端输入以下命令即可:
    1. bg
    复制代码
    此时任务会切换到后台,并继承执行。
  • 查看后台任务状态:
    使用 jobs

    命令,可以列出所有当前的后台任务:
    1. jobs
    复制代码
    输出示例:
    1. [1]+  Running    command_name &
    复制代码
  • 将后台任务移回前台:
    如果需要重新在前台操作该任务,可以使用 fg 命令:
    1. fg %<job_number>
    复制代码
    比方,将编号为 1 的任务规复到前台:
    1. fg %1
    复制代码

2. 启动任务时直接发送到后台

在启动任务时,如果知道该任务需要在后台运行,可以直接在命令末端添加 & 符号:
  1. command &
复制代码
这种方法会直接将任务放到后台执行,并返回一个任务 PID。比方:
  1. [1] 12345
复制代码
这里,12345 是任务的历程 ID,可以用来管理该任务。

3. 使用 nohup 保证任务连续运行

如果希望任务在终端关闭后仍旧继承运行,可以使用 nohup 命令。
  1. nohup command &
  2. amp;
复制代码


  • 输出文件: 默认情况下,任务的输出会生存到 nohup.out 文件中,除非显式指定输出路径:
    1. nohup command > output.log 2>&1 &
    复制代码
  • 得当长时间运行的任务,比方文件备份或大规模数据处理。

4. 使用 disown 取消终端关联

如果任务已经在后台运行,但你需要确保它在退出终端后继承运行,可以使用 disown 命令:

  • 起首将任务放到后台运行(使用 Ctrl+Z 和 bg

    )。
  • 然后运行:
    1. disown %<job_number>
    复制代码
disown 命令会移除任务与当前终端的关联,从而确保终端关闭时任务不会被中断。

5. 后台任务管理

Linux 提供了一些工具来管理后台任务:


  • 查看后台任务:
    使用 jobs

    命令可以列出所有后台任务及其状态:
    1. jobs
    复制代码
  • 停止后台任务:
    如果需要停止某个后台任务,可以使用 kill 命令:
    1. kill <PID>
    复制代码
    或使用任务号:
    1. kill %<job_number>
    复制代码
  • 规复到前台并停止:
    使用 fg 将任务规复到前台,然后按 Ctrl+C 停止。

6. 应用场景示例

示例 1:一个长时间运行的脚本
假设你运行了一个脚本:
  1. python long_running_script.py
复制代码
发现脚本会执行很久,但不希望它占用当前终端窗口,可以按 Ctrl+Z 停息,然后运行:
  1. bg
复制代码
示例 2:文件下载
使用 wget 下载大文件:
  1. wget http://example.com/largefile.zip &
复制代码
任务会立即在后台执行,同时表现任务的 PID,方便后续管理。

总结

将任务移到后台运行是 Linux 中非常实用的技巧,可以通过以下方式实现:

  • 使用快捷键和命令: Ctrl+Z、bg

    和 fg。
  • 启动任务时添加 & 符号。
  • 使用 nohup 或 disown 确保任务不受终端退出影响。
机动运用这些方法,可以更高效地管理任务,提升使用 Linux 的生产力!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

我可以不吃啊

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表