跳到主要内容

挂起和恢复

功能概述:iFlow CLI 支持在交互式会话中挂起(暂停)当前任务,并在需要时恢复它。

学习时间:5分钟

前置要求:熟悉基本的命令行操作,如 ctrl+zfg

什么是挂起和恢复

在 iFlow CLI 的交互式会话中,您可能需要临时中断当前正在运行的任务,去执行另一个更高优先级的操作。挂起和恢复功能允许您使用标准的终端命令来暂停(挂起)当前的 iFlow 会话,然后在您准备好时再返回(恢复)到原来的地方继续。

这个功能利用了大多数现代 shell(如 bash, zsh)的作业控制(Job Control)能力。

核心操作

操作命令说明
挂起ctrl+z将当前正在前台运行的 iFlow 进程暂停,并放到后台。
恢复fgfg %<job_number>将一个后台任务重新调回到前台继续运行。fg 默认恢复最近一个任务。使用 fg %1fg %2 等可以恢复指定的任务。

您可以使用 jobs 命令查看所有在后台的任务及其编号。

工作流程

  1. 启动交互式会话: 运行 iflow 进入交互式模式。
  2. 执行任务: 在会话中与 iFlow 交互,例如,运行一个剧本或提出一个问题。
  3. 需要中断: 假设您需要检查另一个文件或运行一个快速的命令,但不想终止当前的 iFlow 会话。
  4. 挂起会话: 按下 ctrl+z。iFlow CLI 进程将被暂停,您会返回到您的 shell 提示符。
  5. 执行其他任务: 在 shell 中执行您需要的任何其他命令。
  6. 恢复会话: 当您准备好返回 iFlow 时,输入 fg 命令。
  7. 继续交互: 您将回到之前离开的 iFlow 会话中,可以从中断的地方继续。

使用场景

  • 临时查看信息: 在与 iFlow 对话时,需要快速查看一个文件的内容或核对一些信息。
  • 执行系统命令: 需要运行一个系统命令(如 git statusls -l)来获取上下文,以便更好地向 iFlow 提问。
  • 多任务处理: 在一个终端窗口中管理多个任务,而无需为每个任务打开新的终端标签页。

示例

假设您正在使用 iFlow 编写代码:

  1. 启动 iFlow:

    iflow

    您进入了 iFlow 的交互式会话。

  2. 开始一个任务:

    >>> "写一个 python hello world"

    iFlow 开始生成代码。

  3. 需要检查文件: 您突然想起需要检查当前目录下是否已经有一个 hello.py 文件。

  4. 挂起 iFlow: 按下 ctrl+z

    zsh: suspended  iflow

    您回到了 zsh (或您的默认 shell) 提示符。

  5. 检查文件:

    ls

    您看到目录下没有 hello.py

  6. 恢复 iFlow: 输入 fg

    fg
    [1] + continued iflow

    您回到了 iFlow 会话,可以看到 iFlow 恢复之前的历史记录,并正在等待您的下一步指示。

这个功能让 iFlow CLI 的使用更加灵活,能够无缝地融入您现有的命令行工作流中。