다음과 같은 명령이 있습니다.
sudo sh -c "echo $ADDR > /sys/class/gpio/export"
셸에서는 잘 실행되지만 백그라운드 프로세스로 실행하면 다음 오류가 발생합니다.
tty가 존재하지 않으며 Askpass 프로그램이 지정되지 않았습니다.
이 문제를 어떻게 해결할 수 있나요?
감사해요
편집하다제가 수행한 단계를 보여드리는 것을 잊어버렸습니다.
- SSH를 통해 임베디드 Linux에 연결합니다.
- "nohup &"를 통해 위 명령이 포함된 스크립트를 실행합니다.
- 이제 프로세스가 백그라운드에서 실행 중입니다.
- GPIO 보드에 연결된 LED가 예상대로 작동합니다.
- SSH 세션의 연결을 끊습니다.
- LED가 더 이상 작동하지 않습니다.
- SSH를 통해 다시 연결하고 파일을 입력했습니다.nohup.out읽었다"tty가 존재하지 않으며 Askpass 프로그램이 지정되지 않았습니다.".
답변1
문제는 전체 sudo
프로세스를 백그라운드에서 실행하고 있고 비밀번호를 묻는 메시지를 표시할 수 없다는 것 같습니다.
당신은 할 수 있습니다:
sudo
다른 프로그램을 실행하고 비밀번호를 제공한 다음 명령을 입력하십시오(Sudo 구성에 따라 다름).visudo
사용자/그룹이 비밀번호 없이 sudo 명령을 실행할 수 있도록 sudo(pass)를 구성합니다 .%wheel ALL=(ALL) NOPASSWD: ALL
두 번째는 더 합리적인 솔루션입니다. 물론 더 많은 솔루션이 있지만 주요 요구 사항을 설명하면 많은 도움이 될 것입니다.
답변2
내 생각에는 /etc/sysfs.conf에 매개변수를 넣는 것이 좋을 것 같습니다.
바라보다