ポートを開くルビースクリプトを開発しています。デーモンgemを使用していますが、うまく機能していますが、sshからログアウトすると、プロセスIDが強制終了されます.sshセッションを閉じた後もこのスクリプトを実行し続けるにはどうすればよいですか?
環境
- Ubuntu 12.04
- ルビー1.9.3
- アマゾンec2
- イベントマシンジェム
- デーモンズジェム
コマンドを使用できますnohup
。「ノーハングアップ」の略です。やってみる
nohup ruby whatever.rb &
私の投稿に基づいて、デーモンgemを使用しているため、スクリプトを正しい方法で制御できます。問題は、デーモンを開始したときにruby daemon.rb start
プロセス所有者が私のsshユーザーだったため、私の解決策は私のユーザーとグループを変更することでしたファイル
sudo chown root daemon.rb
sudo chgpr root daemon.rb
ここで、スクリプトを実行するには、root ユーザーがスクリプトを開始する必要があるため、ssh セッションを終了した後もスクリプトは有効です。