Я використовував би service
команду, оскільки вона є більш послідовною у різних дистрибутивах. Отже, згаданих вами команд варіант, на який я б пішов:
service networking restart
І я б напевно запустив його всередині screen
сеансу або іншим способом переконався, що він не завершиться, якщо ви втратили зв’язок із оболонкою, в яку ви ввели його. (Я спробував втратити підключення до машини, увійшовши в систему, ssh
а потім перезапустивши мережу лише для того, щоб ssh-з'єднання припинилося, поки мережа була відключена, і надіслати HUP service
таким чином, щоб воно не запускало мережу знову.)
У минулому існували системи, де service
була проста обгортка навколо сценаріїв, /etc/init.d
і перші дві ваші команди виконували б точно те саме. Але сьогодні існують системи, де service
іноді можна зробити щось інше, і взагалі service
краще знає, що робити у вашому конкретному розповсюдженні. І invoke-rc.d
також залежить розподіл.
Хоча service
це найбільш схоже в різних дистрибутивах, імена служб все ж можуть бути різними. Наприклад, є дистрибутиви, де служба названа network
та інші, де вона названа networking
. І в деяких конфігураціях може бути доцільніше перезапустити, network-manager
а не networking
.