xserverのサポートに問い合わせてみました。
結果がでしだい、ここにコメントしたいと思います!
お付き合いいただきありがとうございました!
エックスサーバー でforeverコマンドを使い、pythonプログラムを常時起動したい。
npmをインストールしてforeverコマンドを使うとこまではできました。
SSH接続したエックスサーバー を切断するとforeverで実行しているプログラムまで落ちます。
解決方法や代替案などありましたら教えてください。
$ forever -c python test/test.py
$ forever list
#[0] pZUM python test/test2.py
$ forever list
#No forever processes running
エックスサーバー でforever動かしている記事など読んでもこのエラーが発生しているものを見つけられませんでした。
どなたかお力をお貸しいただけると助かります。
どうやら実行しているコマンドが間違っていたようでした。
#間違いコマンド
forever -c python test/test.py
#正しいコマンド
forever start -c python test/test.py
なお、間違いコマンドでもSSH切断するまでは、しっかりと動作します。
foreverのドキュメントに書いてあるコマンドとは違ったコマンドを実行していたみたいです。
多分foreverインストールの際に参考にさせていただいたサイトに載っているコマンドです。
人のせいではなく、100%自分が悪いのですが。
参考にしつつも、しっかりとドキュメントを読む癖を少しずつ付けて行こうと思いました。
この問題を解決に導いてくれた
ありがとうございました!
xserverのサポートに問い合わせてみました。
結果がでしだい、ここにコメントしたいと思います!
お付き合いいただきありがとうございました!
@narunblog
Questionerforever --help
の実行で下記のテキストが表示されるようです。
// 前略 [Long Running Process] The forever process will continue to run outputting log messages to the console. ex. forever -o out.log -e err.log my-script.js [Daemon] The forever process will run as a daemon which will make the target process start in the background. This is extremely useful for remote starting simple node.js scripts without using nohup. It is recommended to run start with -o -l, & -e. ex. forever start -l forever.log -o out.log -e err.log my-daemon.js forever stop my-daemon.js
forever -c python test/test.py
ではなく
forever start -c python test/test.py
ならうまくいくかもしれません。
@narunblog
Questionerぱっと3つ思いつきます。
コメントありがとうございます!
アドバイスいただいた3つの内2つを試してみました。
1.screenを使う
こちらはエックスサーバー のため、root権限で実行できずインストールできませんでした。
2.nohupを使う
こちらで実行を行いましたが、SSH接続を切断すると変わらず、処理が終了してしまいます。
3.cronを使う
こちらについては、動かしたいものが常時起動なのでcronでは難しいのかなと思っています?
cronは定期実行を行うためのものという認識です。
それともcronで常時実行する何かしらの方法があるのでしょうか。
随時、解決策を募集しております。
@narunblog
Questioner@narunblog
Questioner