Khởi động lại tập lệnh (os.restart)
Khai báo
ok, err = os.restart([ scriptPath ])
Tham số
- scriptPath
Chuỗi, tùy chọn. Nếu cung cấp đường dẫn tệp tập lệnh hợp lệ, môi trường chạy sẽ khởi động lại vào tập lệnh đích đó. Mặc định:""(tập lệnh hiện tại).
Giá trị trả về
- ok
Boolean. Chỉ trả vềfalsekhi đã cung cấp đường dẫn đích nhưng thao tác thất bại. Khi thành công, hàm không trả về vì tiến trình sẽ khởi động lại. - err
Chuỗi. Thông báo lỗi khi thao tác thất bại.
Mô tả
Khi không có tham số, hàm khởi động lại ngay tiến trình tập lệnh hiện tại; tập lệnh hiện tại sẽ kết thúc ngay lập tức.
Khi có đường dẫn tập lệnh hợp lệ, tập lệnh hiện tại sẽ kết thúc và tập lệnh đích sẽ bắt đầu.
Khi thất bại (thường do đối số không hợp lệ), hàm trả vềfalsekèm thông báo lỗi.
Lưu ý
"Tập lệnh hiện tại" là phiên bản tập lệnh đã được khởi chạy, không phải tệp hiện có trên ổ đĩa. Nếu tệp thay đổi sau khi khởi chạy,
os.restart()sẽ không chạy tệp đã sửa.
Nếu có thể, hãy tránh dùng hàm này trong ngữ cảnh đa luồng.
Khởi động lại không có độ trễ có thể gây ra các vấn đề logic khác; hãy xử lý phù hợp.
Ví dụ 1
os.restart() -- khởi động lại "tập lệnh hiện tại" (không phải "tệp tập lệnh hiện tại")
Ví dụ 2
os.restart(utils.launch_args().path) -- khởi động lại vào tệp tập lệnh hiện tại
Lưu ý: Sử dụng utils.launch_args