作业/流程跟踪和多任务处理的最佳实践

Vic*_*sky 6 process process-management

我从 10 多个不同的目录运行 10 多个不同的命令,我需要一个更好的过程来跟踪所有内容。

我进行了大量调试,而且经常需要并行处理多个问题。我有很多需要 30-240 分钟才能运行的脚本,例如:

  • 创建工作区
  • 编译代码
  • 运行代码以重现调试信息问题
  • 经营资格

我发现自己在问以下问题:

  • 什么在运行?
  • 为什么它在运行?当我开始编写脚本时,我想完成什么?
  • 什么完成了运行,何时完成?退出代码是什么(通过/失败)?

目前我在一个文本文件中记录了我在每个目录中所做的事情,并手动检查终端或日志文件以获取所有内容的运行状态。似乎应该有更好的方法。

slm*_*slm 4

如果问题是您发现在从一个任务跳到另一个任务时很难跟踪您正在做什么,您可能需要花时间考虑使用tmux和/或screen等工具。这些是虚拟终端窗口服务器,允许您在其中设置终端并为其命名。这允许您在终端上放置一些上下文并保持多个终端运行,而不会弄乱您的桌面。

我通常使用 screen,所以我更熟悉它的工作流程,但一般来说,我设置一个 screen 会话,如下所示:

screen -S appX
Run Code Online (Sandbox Code Playgroud)

然后我像这样连接到它:

screen -r appX
Run Code Online (Sandbox Code Playgroud)

然后,在 appX 的空间内,您可以为与 appX 相关的工作设置不同的选项卡/窗口。我可能会设置一个名为“编译”的窗口,而另一个可能是“日志”,我在其中跟踪应用程序的日志文件。然后,我可以使用组合键Ctrl+A+Ctrl+A从一个选项卡/窗口移动到另一个选项卡/窗口,或者您可以拆分终端,使其中一个位于终端的上 1/2 部分,而另一个位于下 1/2 部分。