Ich würde den service
Befehl 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 screen
Sitzung 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 ssh
angemeldet habe und dann das Netzwerk neu gestartet habe, um die SSH-Verbindung zu beenden, während das Netzwerk inaktiv war, und ein HUP an service
gesendet habe, damit das Netzwerk nicht erneut gestartet wird.)
In der Vergangenheit gab es Systeme, in denen service
die Skripte mit einem einfachen Wrapper umschlossen waren /etc/init.d
und die ersten beiden Befehle genau dasselbe taten. Aber heutzutage gibt es Systeme, in denen service
manchmal etwas anderes funktioniert, und die im Allgemeinen service
besser wissen, was mit Ihrer bestimmten Distribution zu tun ist. Und invoke-rc.d
ist auch vertriebsabhängig.
Obwohl service
die 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, network
und andere, in denen er benannt ist networking
. Und in einigen Konfigurationen kann es sinnvoller sein , neu zu starten , network-manager
statt networking
.