Eu usaria o service
comando porque é mais consistente em diferentes distribuições. Então, dos comandos que você mencionou, a variante que eu utilizaria é:
service networking restart
Definitivamente, eu o rodaria dentro de uma screen
sessão ou por outros meios, para que não falhe ao concluir, caso você perca a conexão com o shell em que o digitou. (Tentei perder a conectividade com uma máquina fazendo login ssh
e reiniciando a rede apenas para que a conexão ssh terminasse enquanto a rede estava inoperante e envie um HUP para service
que não traga a rede novamente.)
No passado, havia sistemas em que service
havia um invólucro simples em torno dos scripts /etc/init.d
e os dois primeiros de seus comandos faziam exatamente a mesma coisa. Hoje em dia, porém, existem sistemas em que service
, às vezes, algo é diferente e, em geral, ele service
sabe melhor o que fazer em sua distribuição específica. E invoke-rc.d
também depende da distribuição.
Embora service
seja o mais semelhante entre distribuições, ainda é possível que os nomes dos serviços sejam diferentes. Por exemplo, existem distribuições onde o serviço é nomeado network
e outras onde ele é nomeado networking
. E, em algumas configurações, pode ser mais apropriado reiniciar network-manager
do que networking
.