Ich würde den serviceBefehl verwenden, da er über verschiedene Distributionen hinweg konsistenter ist. Von den Befehlen, die Sie erwähnt haben, würde ich folgende Variante wählen:
service networking restart
Und ich würde es definitiv in einer screenSitzung ausführen oder auf andere Weise sicherstellen, dass es nicht fehlschlägt, falls Sie die Verbindung zu der Shell verlieren, in der Sie es eingegeben haben. (Ich habe versucht, die Konnektivität zu einem Computer zu verlieren, indem ich mich mit sshangemeldet habe und dann das Netzwerk neu gestartet habe, um die SSH-Verbindung zu beenden, während das Netzwerk inaktiv war, und ein HUP an servicegesendet habe, damit das Netzwerk nicht erneut gestartet wird.)
In der Vergangenheit gab es Systeme, in denen servicedie Skripte mit einem einfachen Wrapper umschlossen waren /etc/init.dund die ersten beiden Befehle genau dasselbe taten. Aber heutzutage gibt es Systeme, in denen servicemanchmal etwas anderes funktioniert, und die im Allgemeinen servicebesser wissen, was mit Ihrer bestimmten Distribution zu tun ist. Und invoke-rc.dist auch vertriebsabhängig.
Obwohl servicedie Namen der Dienste über Distributionen hinweg am ähnlichsten sind, können sie sich dennoch unterscheiden. Beispielsweise gibt es Distributionen, in denen der Dienst benannt ist, networkund andere, in denen er benannt ist networking. Und in einigen Konfigurationen kann es sinnvoller sein , neu zu starten , network-managerstatt networking.