2.2 Octaveの終了
シャットダウンは,exitまたはquitコマンド(これらは等価です)で開始されます。起動時と同様に,Octaveにはユーザ・スクリプト・ファイルによって カスタマイズ可能なシャットダウン・プロセスがあります。シャットダウンの間,Octaveは関数のロード・パスにあるスクリプト・ ファイルfinish.mを検索します。すべてのワークスペース変数を保存したり,一時ファイルをクリーンアップ するコマンドは,そこに置くことができます。シャットダウン時に実行する追加関数は,atexitに登録することができる。
: quit
: quit cancel
: quit force
: quit ("cancel")
: quit ("force")
: quit (status)
: quit (status, "force")
: exit (…)
現在のOctaveセッションを終了する。
オプションの整数値statusが与えられた場合,その値をOctaveの終了ステータス としてオペレーティングシステムに渡す。デフォルト値は0である。
Octaveを終了するとき,mファイルfinish.mが存在すれば,それを実行しようと します。ワークスペースの保存やテンポラリ・ファイルのクリーンアップのための ユーザ・コマンドは,そのファイルに置くことができる。あるいは,別のmファイルをatexitを使用して実行するようにスケジュールすることもできます。finish.mファイルの実行中にエラーが発生した場合,Octaveは終了せず,コ ントロールはコマンドプロンプトに戻される。
オプションの引数 「cancel 」が与えられると,Octaveは終了せず,制御はコマンドプロンプトに戻されます。この機能は,finish.mファイルが終了処理をキャンセルすることを可能にする。
ユーザが終了前に確認を要求することを希望する場合,Octaveはダイアログを表 示し,ユーザに終了処理をキャンセルするオプションを与える。
オプション引数 「force 」が指定された場合,確認は要求されず,finish.m ファイルの実行はスキップされる。
プログラミング上の注意:exitはquitの別名であり、同じ意味で使うことができる。
atexitも参照のこと。
: atexit (fcn)
: atexit (fcn, true)
: atexit (fcn, false)
Octave が終了するときに呼び出される関数を登録します。
例えば
function last_words ()
disp ("Bye bye");
endfunction
atexit ("last_words");
は,Octaveの終了時に「Bye bye 」というメッセージを表示します。
追加引数flagは,Octaveの終了時に呼び出される関数のリストからfcnを 登録または登録解除する。flagがtrueの場合,関数は登録され,flagがfalseの場合,関数は登録解除される。例えば、上記の関数last_wordsを登録した後、次のようにする、
atexit (「last_words」, false);
は,リストから関数を削除し,Octaveは終了時にlast_wordsを呼び 出さない。
オプションの出力ステータスは,関数の登録を解除する場合にのみ使用可能である。この値は,登録解除が成功した場合はtrue,そうでない場合はfalseです。
プログラミング上の注意:atexitは,関数が最初に出現したものだけをリストから 削除します。関数がatexitで複数回リストに登録された場合,その関数も複数回 リストから削除されなければなりません。