2016-06-13 7 views
-1

NodeJSとMongoDBがインストールされたAzureにLinux VMをセットアップしました。Azure VMのNodeJSスクリプト

私は常に実行する必要のある単一のノードスクリプトを持っています(Androidアプリから生成されたGoogleプッシュ通知を受信して​​それに応じてMongoDBに保存します)。

これまで実行できる唯一の方法は、ローカルマシン上のssh経由で "node gcm.js"というスクリプトを実行して正常に動作するようにすることです。しかし、サーバーから切断すると、スクリプトの実行が停止します...ローカルマシンに接続する必要なく、どうすれば実行できますか? 1回だけ始まるcronジョブ?それとも私は完全に間違った方法でこれについて行ったことがありますか?

+0

スクリプトをバックグラウンドで実行する方法はたくさんありますが、cronジョブ、サービス、スクリーンなどがありますが、http://serverfault.comなどの適切なフォーラムに投稿することをお勧めします。 – Saleem

+0

画面が私に必要なものをさせるでしょう。そして、正しいフォーラムを使うことについてのポイント。 –

答えて

0

私の経験では、現在のプロセスをバックグラウンドジョブとして実行するための簡単な方法があります。

以下は、以下の手順です。

  1. ローカルマシンでssh経由で接続してから、スクリプトnode gcm.jsを実行してください。
  2. 現在のプロセスを停止するためにCtrl+Zと入力してください。次に、N[N]+の番号がジョブIDです。

    ^Z
    [N] +停止ノードは、バックグラウンドジョブに立ち止まっforegroudジョブからNジョブを変換するbg %Nを入力

  3. をgcm.js。

  4. disown -h %Nを入力して現在のシェルのジョブリストからNジョブを削除すると、現在のssh接続を閉じた後にプロセスが実行されます。

これらのlinuxコマンドの詳細については、検索エンジンで簡単に入手できると思います。

希望します。