0

HHVMを使用して Docker で実行する場合、バックグラウンドにはなりませんhhvm -m daemon。プロセスは開始しますが、コマンド プロンプトに戻りません。ctl^cプロセスを強制終了します。私の回避策は次のとおりです。

  1. インストールscreen
  2. 走るexec >/dev/tty 2>/dev/tty </dev/tty
  3. 走るscreen
  4. HHVMから実行screen

理由はありますか?

ありがとう。

4

1 に答える 1

4

あなたが質問をして以来、おそらくこれを解決しているでしょう(または、問題は hhvm の最近のバージョンで修正されています)が、私もこれを行っていたので、いくつかの考えを追加します.

デーモンモード ( hhvm -m daemon)

現在、期待どおりに動作しているようです(Ubuntu 12.04):

root@5ba718633f3a:~# hhvm -m daemon
Log file not specified under daemon mode.\n\n
root@5ba718633f3a:~# ps aux | grep hhvm
root       123  0.8  9.7 554212 36388 ?        Ss   21:33   0:00 hhvm -m daemon

サーバー分離モード ( hhvm -m server &)

root@5ba718633f3a:~# hhvm -m server &
[1] 151
root@5ba718633f3a:~# ps aux | grep hhvm
root       151  2.3 11.5 631128 43212 pts/0    Sl   21:36   0:00 hhvm -m server

スーパーバイザー付きサーバーモード

あなたのsupervisord設定で:

[program:hhvm]
directory=/var/www
command=hhvm -m server
autostart=true
autorestart=true
redirect_stderr=true

スーパーバイザーを使用すると仮定すると、そのオプションは、アドホック hhvm インスタンスを開始/停止する必要がない限り、おそらく最も簡単です。また、ご存じだと思いますがdirectory、supervisord プロセス構成のオプションは、hhvm CLI 引数を介して複製することもできます (したがって、CWD ベースではありません)。

hhvm -m daemon -v Server.SourceRoot=/var/www

それが役立つことを願っています。返事が遅れて申し訳ありません!

于 2014-01-18T21:45:19.690 に答える