Lumoz node 備忘録:CLIクライアントのバックグラウンド実行
完全に個人備忘録ですが、誰かの何かの参考になったら幸いです。
※環境:MacのターミナルでVPS:Contaboへ接続
ターミナルを閉じてもLumoz CLIクライアントを実行(起動)したままにするために、以下の手順でプロセスをバックグラウンドで動作させました。よく使われる方法としては nohup がありますが、LumozのCLIクライアントでは実行後に、ノードの起動・リワード自動回収のコマンド(各コマンド後、ノードの秘密鍵)を入力する必要があるためscreenを使用しました。
1. screen を使う
screen コマンドは仮想ターミナルを作成し、その中でプロセスを実行することで、ターミナルを閉じてもプロセスを保持します。
⒈ screen をインストールする(インストールされていない場合)。
sudo apt-get install screen
⒉ 新しいスクリーンセッションを作成する。
screen -s zkverifier_session
※zkverifier_sessionは今回開くスクリーンのセッション名です。何でもOK。
⒊ セッション内でCLIクライアントを起動する。
./zkVerifier-node-linux-x64
Ctrl + A その後 D を押してセッションをデタッチする。
この操作でターミナルから切断しても、CLIクライアントはバックグラウンドで実行され続けます。再度接続するには、次のコマンドを使用します。
screen -r zkverifier_session
2. 代替方法: tmux を使う ※予備、試してません
tmux は screen の代替として使えるターミナルマルチプレクサです。以下の手順で使えます。
⒈ tmux をインストールする(インストールされていない場合)。
sudo apt-get install tmux
⒉ 新しい tmux セッションを作成する。
tmux new -s zkverifier_session
⒊ セッション内でCLIクライアントを起動する。
./zkVerifier-node-linux-x64
Ctrl + B その後 D を押してセッションをデタッチする。
これでターミナルを閉じてもプロセスはバックグラウンドで動作します。再度セッションに接続するには、次のコマンドを使用します。
tmux attach -t zkverifier_session
終了方法
プロセスを終了するには、セッションに再接続してCtrl+Cで終了。
実行中のセッションを表示させるには”screen -ls”か”tmux ls”
Ctrl+Cでもセッションが残っている場合は、
screen -S zkverifier_session -X quit
tmux kill-session -t zkverifier_session
これで、ターミナルを閉じてもCLIクライアントをバックグラウンドで実行できるようになったはず。