どのようにphpスクリプトのコマンドライン(走行ログイン後)
-
05-09-2019 - |
質問
私のしているため、phpスクリプト自分のリモート仮想プライベートサーバーを通じてョンをインストールして下さい。の過程を追っていくには:
- にログインを使用したサーバーパテ
- のコマンドラインに対して迅速タイプ>php myScript.php
スクリプトを走るだけです。が、問題はスクリプトを停止したり、パテコンソールウインドウです。
さんありがとうございます。クリプトを走りが広がる。する方法を教えてください。私はDebianのサーバーです。
よろしくお願いします。
解決
私は、すなわちnohupコマンドを使用し、ベンは、正しい答えを持っていると信じています。 nohupをしてNOHANGUPの略で、あなたのプログラムは、あなたがパテセッションを使用すると、ログアウトしたり、タイムアウトになってきたので、のいずれかによって切断されているときに生成され、ハングアップ信号を無視しなければならないことを意味します。
あなたはあなたのコマンドの出力はnohup.outという名前の現在のディレクトリ内のファイルに追加されることに注意する必要があります(または$ HOME / nohup.out権限が現在のディレクトリにnohup.out作成できないことがあれば) 。あなたのプログラムは、大量の出力を生成した場合、このファイルは非常に大きく得ることができ、その代わりに、あなたは別のファイルにスクリプトの出力をリダイレクトするために、シェルのリダイレクトを使用することができます。
nohup php myscript.php >myscript.output 2>&1 &
このコマンドは、スクリプトを実行し、プログラムを実行するたびに新たに作成されたファイルmyscript.outputにすべての出力(標準とエラーの両方)を送信します。
最後の&それが実行されているか、ログアウトされながら、あなたは他のことを行うことができますので、スクリプトをバックグラウンドで実行するようになります。
他のヒント
簡単な方法は、それを実行することですnohupをただします:
nohup php myScript.php &
あなたは、screen
でPHPのコマンドを実行しscreen
を取り外す場合は、あなたのコンソールを閉じたとき、それが終了しません。
スクリーンを使用すると、1つの物理的な端子を介して多くのプロセスを管理することができますターミナルマルチプレクサです。各プロセスは、独自の仮想ウィンドウを取得し、あなたは、各プロセスと対話する仮想ウィンドウ間をバウンスすることができます。画面によって管理されるプロセスは、そのウィンドウがアクティブでないときに実行し続けます。