Перейти к основному содержимому

Перезапуск скрипта (os.restart)

Объявление

результат, сообщение_об_ошибке = os.restart([ путь_к_файлу_скрипта ])

Параметры

  • путь к файлу скрипта
    Текст, необязательный параметр; если передан допустимый путь к файлу скрипта, выполнение перезапускается с этого файла, по умолчанию "".

Возвращаемые значения

  • результат
    Логическое значение: при ошибке операции возвращается false. Ошибка возможна только при передаче параметра путь к файлу скрипта; при успехе функция не возвращается (процесс перезапущен).
  • сообщение об ошибке
    Текст с подробным описанием ошибки операции.

Описание

Если путь к файлу скрипта не передан, функция напрямую перезапускает процесс текущего скрипта, который немедленно завершается.
Если передан допустимый путь к файлу скрипта, текущий скрипт завершается и запускается целевой файл скрипта.
При ошибке функция возвращает false и сообщение об ошибке; обычно ошибка вызвана недопустимым параметром.

Важно

Текущий скрипт — это скрипт, загруженный при запуске; после изменения файла os.restart() не загрузит изменённый файл.
Не используйте эту функцию в многопоточной среде без необходимости.
Перезапуск без задержки может вызвать другие логические проблемы; автор скрипта должен самостоятельно их предотвратить.

Пример 1

os.restart() -- Перезапуск «текущего скрипта» (не «текущего файла скрипта»).

Пример 2

os.restart(utils.launch_args().path) -- Перезапуск «текущего файла скрипта».

Примечание: в приведённом коде используется функция из другой главы — utils.launch_args.