Usaría el service
comando porque es más consistente en diferentes distribuciones. Entonces, de los comandos que mencionó, la variante que elegiría es:
service networking restart
Y definitivamente lo ejecutaría dentro de una screen
sesión o por otros medios para asegurarme de que no fallará en completarse en caso de que pierda la conexión con el shell en el que lo escribió. (He intentado perder la conectividad con una máquina iniciando sesión ssh
y luego reiniciando la red solo para que la conexión ssh finalice mientras la red estaba inactiva y envíe un HUP para service
que no vuelva a abrir la red).
En el pasado ha habido sistemas en los que service
había una simple envoltura alrededor de los scripts /etc/init.d
y los primeros dos de sus comandos harían exactamente lo mismo. Pero hoy en día hay sistemas en los service
que a veces se hace algo diferente y, en general, se service
sabe mejor qué hacer en su distribución particular. Y invoke-rc.d
también depende de la distribución.
Aunque service
es el más similar en todas las distribuciones, aún es posible que los nombres de los servicios sean diferentes. Por ejemplo, hay distribuciones donde se nombra el servicio network
y otras donde se nombra networking
. Y en algunas configuraciones puede ser más apropiado reiniciar network-manager
que hacerlo networking
.