Tôi muốn chạy một số chương trình Java trong nền khi hệ thống khởi động trong Ubuntu. Tôi đã cố gắng để thêm một kịch bản trong thư mục /etc/init.d nhưng không thành công để bắt đầu một chương trình. tức là các chương trình không được bắt đầu. Tôi nên làm gì cho điều đó?Làm thế nào để chạy một kịch bản khi khởi động Ubuntu?
Trả lời
Trước hết, cách dễ nhất để chạy mọi thứ khi khởi động là thêm chúng vào tệp /etc/rc.local
.
Một cách đơn giản khác là sử dụng @reboot
trong crontab của bạn. Đọc manpage cron để biết chi tiết.
Tuy nhiên, nếu bạn muốn làm mọi thứ đúng cách, ngoài việc thêm tập lệnh vào /etc/init.d
, bạn cần phải thông báo cho ubuntu khi tập lệnh được chạy và với thông số nào. Điều này được thực hiện với lệnh update-rc.d
tạo liên kết tượng trưng từ một số thư mục /etc/rc*
đến tập lệnh của bạn. Vì vậy, bạn cần phải làm điều gì đó như:
update-rc.d yourscriptname start 2
Tuy nhiên, init script thực có thể xử lý nhiều tùy chọn dòng lệnh và tích hợp với quá trình khởi động. Các tập tin /etc/init.d/README
có một số chi tiết và con trỏ xa hơn.
Nhưng tệp java của tôi nên được đặt ở đâu? Tôi đã tạo ra chương trình java đơn giản với vòng lặp vô hạn. sau đó lệnh javac và java được đặt trong /etc/rc.local sau đó tôi đã khởi động lại hệ thống của mình nhưng chương trình không chạy. phải làm gì? –
Cảm ơn bạn đã hoàn thành. Tôi đã tạo ra một dịch vụ trong /etc/init.d và sau đó bắt đầu dịch vụ trong rc.local. –
'rc-update' không tồn tại trong Ubuntu. Sử dụng 'update-rc.d
Nên được chuyển đến http://askubuntu.com/ –
hoặc chuyển sang superuser –