Tôi sẽ sử dụng servicelệ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 screenphiê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 sshvà 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 để servicenó không khởi động lại mạng.)
Trong quá khứ đã có các hệ thống trong đó servicecó một trình bao bọc đơn giản xung quanh các tập lệnh /etc/init.dvà 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 servicebiế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.dcũng phụ thuộc vào phân phối.
Mặc dù servicelà 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 networkvà 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-managerhơn là networking.