Eu estou fazendo algumas suposições aqui ... Eu suspeito que sua segunda pasta de código foi feita para ser idêntica à sua primeira - apenas sem o sudo. É por isso que você tem o erro "deve ser executado como root". Eu também suspeito que seu primeiro bloco de código não retornou nada porque ficou preso em um prompt interativo de senha sudo.
Eu não sei nada sobre php ou mininet, mas quando vejo seu snippet acima, eu me pergunto se a conta de usuário executando o script tem a capacidade de sudo sem senha. Por exemplo, se o seu script estava sendo executado como "myuser", você precisaria de algo assim no arquivo / etc / sudoers:
myuser ALL=(ALL) NOPASSWD: ALL
Sem "NOPASSWD", seu serviço fica preso esperando a senha do myuser em uma tentativa de sudo. Como o serviço não pode manipular um prompt interativo, ele morre e você não recebe nada retornado.
aviso padrão: o sudo sem necessidade de senha é perigoso. Usá-lo para executar comandos arbitrários com base na entrada do usuário de uma página da Web é uma loucura, a menos que você esteja em um ambiente restrito de sandbox.