メインコンテンツまでスキップ

スクリプトを再起動する (os.restart)

宣言

操作の成否, エラー情報 = os.restart([ スクリプトファイルのパス ])

パラメータ

  • スクリプトファイルのパス
    文字列型の省略可能なパラメータです。有効なスクリプトファイルのパスを指定すると、対象のスクリプトファイルを使用して再起動します。デフォルトは "" です

戻り値

  • 操作の成否
    ブール型です。操作に失敗した場合は false を返します。失敗する可能性があるのは 脚本文件路径 パラメータを指定した場合のみです。操作に成功するとプロセスが再起動するため、この関数は呼び出し元に戻りません
  • エラー情報
    文字列型です。操作に失敗した場合は、具体的なエラーメッセージを返します

説明

脚本文件路径 を指定しない場合、この関数は 現在のスクリプト プロセスを直接再起動し、現在のスクリプトは直ちに終了します
有効な 脚本文件路径 を指定した場合、現在のスクリプトを終了し、対象のスクリプトファイル を使用して再起動します
操作に失敗した場合、この関数は false とエラーメッセージを返します。通常は不正な引数が原因です

注意事項

現在のスクリプト とは、起動時に読み込まれたスクリプトを指します。スクリプトファイルが変更されても、os.restart() は変更後のファイルを 読み込みません
必要がない限り、この関数をマルチスレッド環境で使用しないでください
遅延を設けずに再起動すると、ほかの処理に問題が生じる可能性があります。スクリプト作成者側で回避してください

例 1

os.restart() -- 「現在のスクリプト」を再起動する(「現在のスクリプトファイル」ではない)

例 2

os.restart(utils.launch_args().path) -- 「現在のスクリプトファイル」を使用して再起動する

:上記のコードでは、本章で扱っていない関数 utils.launch_args を使用しています