2011-05-04 51 views
1

我正在使用zsh的mac osx中。如果我使用「rails s」啓動一個rails服務器,可以通過在我的終端(zsh)中點擊「ctrl-z」將它放在後臺。取消暫停在其他終端窗口中暫停的導航服務器

如果我打開一個不同的終端窗口,那麼如果我做「工作」,我沒有看到rails服務器。但是,當我做「ps」時,我可以看到它。

有沒有一種方法可以以某種方式在這個新的終端窗口中「取消暫停」rails服務器?

+0

我將此問題標記爲脫離主題:它確實是關於處理* nix系統上的進程,而不是關於Ruby on Rails。 – Wukerplank 2011-05-04 09:39:24

+0

我不同意,這個問題出現了,因爲我正在使用Rails應用程序。我認爲一個rails開發者會比* nix用戶知道答案的機會。雖然我會承認,「紅寶石」標籤可能不是最合適的。 – Fendo 2011-05-04 12:23:01

+0

公平的,但仍然:這是一個普遍的* nix /進程問題,在ServerFault上的某個人可能會更好。我們是開發者,而不是* nix專家。 – Wukerplank 2011-05-04 12:58:09

回答

0

通過發送一個SIGSTOP來「停止」作業。您的C-z不會將作業發送到後臺。它「停止」它。然後,您可以使用內建的bg將其移至背景中。但是,如果您發送此進程的SIGCONT(kill -CONT <pid>),它應該使該進程回到前臺。這可以從不同的shell完成。

如果您鍵入jobs,您將不會看到它,因爲它是由不同的shell(另一個終端窗口而不是您輸入作業的那個)控制的作業。然而,過程是「全局」的,可以從任何地方使用ps命令來看到(正如您正確指出的那樣)。

更新:看起來我說得太快了。顯然,單靠信號還不足以將其帶回前臺。可能與殼有關。