foreman は「pid # で開始」という行のみを表示し、他には何も表示しません 質問する

foreman は「pid # で開始」という行のみを表示し、他には何も表示しません 質問する

foreman を実行すると、次のようになります。

 > foreman start
 16:47:56 web.1     | started with pid 27122

停止した場合のみ(Ctrl + C を使用)、何が不足しているかが表示されます。

^CSIGINT received
16:49:26 system    | sending SIGTERM to all processes
16:49:26 web.1     | => Booting Thin
16:49:26 web.1     | => Rails 3.0.0 application starting in development on http://0.0.0.0:5000
16:49:26 web.1     | => Call with -d to detach
16:49:26 web.1     | => Ctrl-C to shutdown server
16:49:26 web.1     | >> Thin web server (v1.3.1 codename Triple Espresso)
16:49:26 web.1     | >> Maximum connections set to 1024
16:49:26 web.1     | >> Listening on 0.0.0.0:5000, CTRL+C to stop
16:49:26 web.1     | >> Stopping ...
16:49:26 web.1     | Exiting
16:49:26 web.1     | >> Stopping ...

どうすれば修正できますか?

ベストアンサー1

私は 2 つの異なる方法でこの問題を解決できました:

  1. からhttps://github.com/ddollar/foreman/wiki/Missing-Output:

    プログラムからの出力が何も表示されない場合は、stdout をバッファリングしている可能性があります。Ruby はデフォルトで stdout をバッファリングします。この動作を無効にするには、プログラムのできるだけ早い段階で次のコードを追加します。

    # ruby
    $stdout.sync = true
    
  2. フォアマンをインストールすることでheroku ツールベルト パッケージ

しかし、何が起こっているのか、またなぜ上記の 2 つの方法で問題が解決したのかはまだわかりません...

おすすめ記事