Ruby on rails 取消暂停在其他终端窗口中暂停的rails服务器

Ruby on rails 取消暂停在其他终端窗口中暂停的rails服务器,ruby-on-rails,shell,unix,terminal,Ruby On Rails,Shell,Unix,Terminal,我在MacOSX上使用zsh。如果我用“rails s”启动rails服务器,我可以通过点击终端(zsh)中的“ctrl-z”将其置于后台 如果我打开一个不同的终端窗口,那么如果我做“作业”,我就看不到rails服务器。然而,我可以看到它当我做“ps” 有什么方法可以在这个新的终端窗口中“解除”rails服务器的暂停吗?你不容易做到。最简单的解决方案是在会话中启动它,分离屏幕,然后在新的终端中继续。您不容易。最简单的解决方案是在会话中启动它,分离屏幕,然后在新终端中继续。通过向它发送SIGSTO

我在MacOSX上使用zsh。如果我用“rails s”启动rails服务器,我可以通过点击终端(zsh)中的“ctrl-z”将其置于后台

如果我打开一个不同的终端窗口,那么如果我做“作业”,我就看不到rails服务器。然而,我可以看到它当我做“ps”

有什么方法可以在这个新的终端窗口中“解除”rails服务器的暂停吗?

你不容易做到。最简单的解决方案是在会话中启动它,分离屏幕,然后在新的终端中继续。

您不容易。最简单的解决方案是在会话中启动它,分离屏幕,然后在新终端中继续。

通过向它发送
SIGSTOP
,作业被“停止”。您的
C-z
不会将作业发送到后台。它“阻止”了它。然后,您可以使用
bg
shell内置程序将其移动到后台。但是,如果您向该进程发送一个SIGCONT(
kill-CONT
),它应该会将该进程带回前台。这可以从不同的shell中完成

如果键入
jobs
,您将看不到它,因为它是由另一个shell控制的作业(另一个终端窗口,而不是您键入作业的窗口)。然而,进程是“全局”的,可以使用
ps
命令从任何地方看到(正如您正确指出的)

更新:看起来我说得太快了。显然,光是信号还不足以让它回到前景。可能与shell有关。

通过向其发送
SIGSTOP
来“停止”作业。您的
C-z
不会将作业发送到后台。它“阻止”了它。然后,您可以使用
bg
shell内置程序将其移动到后台。但是,如果您向该进程发送一个SIGCONT(
kill-CONT
),它应该会将该进程带回前台。这可以从不同的shell中完成

如果键入
jobs
,您将看不到它,因为它是由另一个shell控制的作业(另一个终端窗口,而不是您键入作业的窗口)。然而,进程是“全局”的,可以使用
ps
命令从任何地方看到(正如您正确指出的)


更新:看起来我说得太快了。显然,光是信号还不足以让它回到前景。可能与shell有关。

我把这个问题标记为离题:它实际上是关于在*nix系统上处理进程的,而不是关于Ruby on Rails。我不同意,这个问题是因为我在开发Rails应用程序而出现的。我认为rails开发人员与*nix用户一样有机会知道答案。虽然我承认“ruby”标签可能不是最合适的。这很公平,但仍然是:这是一个普遍的*nix/进程问题,ServerFault上的某个人可能知道得更好。我们是开发人员,不是*nix专家。我把这个问题标记为离题:它实际上是关于在*nix系统上处理进程,而不是关于Ruby on Rails。我不同意,这个问题是因为我在开发Rails应用程序而出现的。我认为rails开发人员与*nix用户一样有机会知道答案。虽然我承认“ruby”标签可能不是最合适的。这很公平,但仍然是:这是一个普遍的*nix/进程问题,ServerFault上的某个人可能知道得更好。我们是开发人员,不是尼克斯专家。