echo / printf não está funcionando no processo em segundo plano

0

Eu tenho um comando assim:

sudo sh -c "echo $ADDR > /sys/class/gpio/export"

Ele é executado corretamente a partir do shell, mas se eu executá-lo como um processo em segundo plano, recebo o seguinte erro:

no tty present and no askpass program specified

Como eu poderia resolver esse problema?

Obrigado

Editar Esqueci de mostrar os passos que fiz:

  1. Conectado ao meu Linux incorporado pelo SSH.
  2. Execute um script que contenha o comando acima por "nohup &".
  3. Agora o processo está sendo executado em segundo plano.
  4. Os LEDs conectados à placa GPIO funcionam como esperado.
  5. eu desconectei a sessão SSH.
  6. Os LEDs não funcionam mais.
  7. Eu me conecto novamente pelo SSH e no arquivo nohup.out Eu leio " no tty present e nenhum programa askpass especificado ".
por Antonio Petricca 14.12.2016 / 23:19

2 respostas

1

Parece que o problema é que você está cobrindo todo o processo sudo e não é possível solicitar a senha.

Você poderia:

  • sudo executa outra coisa e fornece a senha, seguida pelo seu comando (dependendo da configuração do sudo) ou
  • configure sudo (via visudo ) para permitir que seu usuário / grupo execute comandos sudo sem uma senha: %wheel ALL=(ALL) NOPASSWD: ALL

O segundo é uma solução muito mais sensata, embora haja obviamente muito mais soluções, mas ajudaria muito se você explicasse sua necessidade principal.

    
por 15.12.2016 / 01:11
1

Eu acho melhor você colocar seus parâmetros em /etc/sysfs.conf

Veja

link

    
por 15.12.2016 / 07:19