监视脚本的进程输出

监视脚本的进程输出

有没有办法查看在计算机后台运行的特定脚本的控制台输出?

也许使用 pid 或类似的东西。

例如,查看此脚本的输出

脚本.pm

while (1) {
  print "OUTPUT\n"
}

用法示例

-> ps 斧头 | grep 脚本.pm

<- 1234? S 0:05 /var/lib/script.pm

-> Monitor 1234 #这是一个假命令

<- 输出

<- 输出

<- 输出

<- 输出

<- 输出

答案1

如果进程在后台运行,您可以使用以下命令将其移动到当前 shell 的前台fg命令。然后进程输出将开始写入您的 shell。

如果要将进程送回后台,可以按CTRL+Z暂停进程,然后bg命令将其发送回后台。

用法:
fg PID
bg PID

答案2

有没有办法查看在计算机后台运行的特定脚本的控制台输出?

现在,通过一个名为pw(管表)

事情会怎样发展就是这样的。我们将脚本的输出重定向到pw,并将其放入后台:

$ script.pm | pw &
[1] 1234

现在脚本 和pw都在后台执行。pw正在读取输出。它知道自己正在作为作业控制 shell 的后台进程组的成员执行,因此不会尝试在终端上显示任何内容。

然后,只要我们愿意,我们就会这样做:

$ fg

将作业带到前台。现在pw激活其交互式显示,该显示正在使用脚本的输出进行刷新。

当我们不想再看的时候,可以使用CtrlZ指令pw来暂停自己,然后bgcommand 会恢复后台执行。

相关内容