Executando sudo e nohup em um comando

Executando sudo e nohup em um comando

Existe um comando complexo que requer sudo:

sudo command par1 666 /home/me/...

Preciso iniciá-lo para que persista após eu sair do terminal (SSH). Eu descobri que o nohupcomando deve fazer isso.

O primeiro problema é que nohupparece precisar de sudo:

nohup: failed to open `nohup.out': Permission denied
nohup: failed to open `/home/me/nohup.out': Permission denied

A segunda coisa é que os últimos parâmetros parecem se perder. Qual é a sintaxe adequada para executar commandtodos os seus parâmetros de forma assíncrona com direitos de administrador?

Responder1

Seu primeiro problema é devido à tentativa do nohup de criar um arquivo chamado nohup.out. Ele primeiro tenta criá-lo no diretório atual e, caso contrário, tentará criá-lo em seu diretório inicial.

Pela sua saída, parece que você também não tem acesso de gravação.

Tente executá-lo a partir de um diretório ao qual você tenha acesso de gravação (/tmp se não conseguir encontrar um diretório melhor).

Para o seu segundo problema, coloque aspas no comando e nos parâmetros que deseja executar. Por exemplo

nohup `comando sudo par1 666 /home/me/...`

informação relacionada