フロントエンド起動・終了時にスクリプトを自動実行する方法
最終更新日:2019年11月16日概要
フロントエンド利用の際、ノードの起動時・終了時にあらかじめ作成したスクリ プトを自動実行させることができます。ノードの起動及び終了はフロントエンドの予約ごとに行われます。このページでは、スクリプト自動実行機能の挙動と実行されるスクリプトの配置方法について説明します。
主な手順は以下の通りです。
1. ログインノードでスクリプトを用意
2. ito front にてフロントエンド予約
3. フロントエンド利用
フロントエンドにおけるスクリプト自動実行のユースケース
この機能の想定する用途は以下の3つです。
- 環境設定の自動化
- サーバプロセスの起動、終了
- バッチ処理の自動実行
環境設定自動化では複数ノード利用時の設定など、ノードごとに必要な準備の手間を減らすことができます。サーバプロセスの起動、終了では Jupyter Notebook の起動や VNC サーバの起動に利用可能です。また、対話的な作業をあらかじめ開始しておくこともできます。
実行されるスクリプトと実行結果の出力先について
実行タイミング | スクリプトのパス | 標準出力およびエラーの保存先 |
起動時 | $HOME/.frontend/start_script | $HOME/.frontend/start_out.[yyyymmddHHMM].[hostname] |
終了時 | $HOME/.frontend/end_script | $HOME/.frontend/end_out.[yyyymmddHHMM].[hostname] |
- [yyyymmddHHMM]:スクリプトの実行開始時刻
- [hostname]:フロントエンドノードのホスト名
スクリプト自動実行機能の挙動について
- スクリプト実行時のカレントディレクトリは $HOME です
- スクリプトは予約したユーザの権限で実行されます
- 終了時スクリプトの実行時間は最大10分間で、これを超過すると強制的に打ち切られノードがシャットダウンされます
- スクリプト内で環境変数 FE_TEMPLATE_TYPE を参照する事でに起動したホストの種別情報を取得できます
- 終了時スクリプトが存在しない場合は、起動スクリプトのプロセスとその全ての子プロセスが強制終了されます