Làm cách nào để chạy script khi khởi động máy Linux?


4

Tôi muốn chạy tập lệnh python, khi tôi khởi động máy Linux. Làm thế nào tôi có thể làm như vậy? Tôi không cần người dùng đăng nhập HĐH để khởi động tập lệnh. (Người dùng được bảo vệ bằng mật khẩu.)


3
Phân phối gì? Bạn đang sử dụng upstart, systemdhoặc cái gì khác?
David Schwartz

1
Bạn đã thực hiện nhiều nghiên cứu về điều này? Các kết quả hàng đầu khi làm cho câu hỏi của bạn xuất hiện với các liên kết có nội dung giống hệt như câu trả lời dưới đây từ mnmnc.
bobmagoo


@Indrek: Đây không phải là một bản sao chính xác, vì bài đăng này không chỉ định Ubuntu, trong khi câu hỏi hơi cụ thể.
grawity

Câu trả lời:


5

Phương pháp chung - thêm tập lệnh vào /etc/rc.local:

/usr/bin/python pythonscript.py

nếu trình thông dịch python của bạn ở dưới /usr/bin, hoặc đơn giản

/path/to/pythonscript.py

nếu tập lệnh của bạn được đánh dấu thực thi (+ x).

Lưu ý rằng một số hệ thống sử dụng /etc/rc.d/rc.localthay thế.


Trên các hệ thống systemd , RC.local có thể bị bỏ qua hoàn toàn.

Tạo một đơn vị dịch vụ , :/etc/systemd/system/something.service

[Đơn vị]
Mô tả = Tên tập lệnh

[Dịch vụ]
ExecStart = /path/to/script.py

[Tải về]
WantedBy = multi-user.target

Nói systemd để bắt đầu script khi khởi động .systemctl enable something.service


2
Mặc dù Ted rõ ràng hỏi về hệ điều hành khởi động và không phải về người dùng đăng nhập, nơi thích hợp cho các kịch bản sau đăng nhập là .profile, .xprofilevà / hoặc .config/autostart/. Thêm một cái gì đó vào .bashrcsẽ khiến nó được chạy mỗi khi thiết bị đầu cuối được mở .
grawity

2
Chỉ cần lưu ý: trên một số hệ thống, tệp có thể được đặt tại /etc/rc.d/rc.local.
clpo13

1
@ clpo13: Và một số hệ thống có thể hoàn toàn không sử dụng rc.local(chẳng hạn như hầu hết các bản phân phối Linux sử dụng hệ thống ) ...
grawity
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.