3

制御サーバーからリモート マシンで Beanstalk ワーカーを生成しようとしています。

ホスト名、プライベートネットワーク上のSSHをターゲットマシンに取り、そのマシンでコマンドを実行する機能があります。

ワーカーを生成するために使用するコマンド (ターゲット サーバーのプロンプトで手動で実行する場合) は次のとおりです。

nohup /path/to/php /path/to/file/worker.php &

その出力は次のとおりです。

nohup: ignoring input and appending output to `nohup.out'

プロンプトに戻るには、ctrl+c が必要です

リモートマシンからこれを行うと、スクリプトが開始され、そこに座って作業を待つ「worker started」という出力が表示されます。プロンプトに戻るには ctrl+c が必要です。

ブラウザで php を使用してこのコマンドを実行すると、ワーカーが生成されますが、ブラウザがハングアップし、最終的に nginx タイムアウトに達します。これは、コマンドの実行に使用する shell_exec() がコマンドの実行後にプロンプ​​トを待機するためだと思いますが、それには ctrl+c が必要なため、コマンドの実行が終了しなかったと考えられます。

そのコマンドを単独で実行した後、プロンプトに戻すにはどうすればよいですか?

4

1 に答える 1