Tôi sẽ sử dụng service
lệnh bởi vì nó phù hợp hơn trên các bản phân phối khác nhau. Vì vậy, trong số các lệnh bạn đã đề cập, biến thể tôi sẽ sử dụng là:
service networking restart
Và tôi chắc chắn sẽ chạy nó trong một screen
phiên hoặc bằng các phương tiện khác để đảm bảo rằng nó sẽ không hoàn thành trong trường hợp bạn mất kết nối với trình bao mà bạn đã nhập nó. (Tôi đã thử mất kết nối với máy bằng cách đăng nhập ssh
và sau đó khởi động lại mạng chỉ để kết nối ssh chấm dứt trong khi mạng ngừng hoạt động và gửi HUP để service
nó không khởi động lại mạng.)
Trong quá khứ đã có các hệ thống trong đó service
có một trình bao bọc đơn giản xung quanh các tập lệnh /etc/init.d
và hai lệnh đầu tiên của bạn sẽ thực hiện chính xác điều tương tự. Nhưng ngày nay có những hệ thống service
đôi khi sẽ làm một cái gì đó khác biệt, và nói chung service
biết rõ hơn những gì cần làm trên bản phân phối cụ thể của bạn. Và invoke-rc.d
cũng phụ thuộc vào phân phối.
Mặc dù service
là tương tự nhất trên các bản phân phối, nhưng vẫn có thể các tên dịch vụ khác nhau. Ví dụ, có các bản phân phối nơi dịch vụ được đặt tên network
và các dịch vụ khác được đặt tên networking
. Và trong một số cấu hình, nó có thể thích hợp hơn để khởi động lại network-manager
hơn là networking
.