見出し画像

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
  1. Ctrl + A その後 D を押してセッションをデタッチする。
    この操作でターミナルから切断しても、CLIクライアントはバックグラウンドで実行され続けます。

  2. 再度接続するには、次のコマンドを使用します。

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
  1. Ctrl + B その後 D を押してセッションをデタッチする。
    これでターミナルを閉じてもプロセスはバックグラウンドで動作します。

  2. 再度セッションに接続するには、次のコマンドを使用します。

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クライアントをバックグラウンドで実行できるようになったはず。

いいなと思ったら応援しよう!