fgets를 사용하여 stdin에서 사용자 명령을 읽는 C 기반 응용 프로그램이 있습니다. 내 임베디드 Linux 시스템이 시작 시 이 애플리케이션을 실행하고 사용자를 이 애플리케이션의 터미널에 놓기를 원합니다.
Bash 스크립트를 사용하여 시작 시 애플리케이션을 시작할 수 있습니다.
./my_app
하지만 응용 프로그램이 사용자 터미널에서 stdin을 가져오지 않는 것 같습니다.
Linux에 로그인할 때까지 기다렸다가 터미널에서 수동으로 애플리케이션을 실행하면 문제 없이 상호 작용할 수 있습니다.
프로그램을 자동으로(예: 시작 스크립트를 사용하여) 실행한 다음 마치 사용자가 프로그램을 직접 실행한 것처럼 사용자에게 제어권을 넘겨줄 수 있는 방법이 있습니까?
답변1
내가 찾고 있던 것을 찾았습니다:
exec ./my_app
일반 Linux 터미널을 응용 프로그램으로 대체합니다. 단점은 Linux로 Ctrl + C를 다시 사용할 수 없다는 것입니다. 그러나 그것은 나에게 중요하지 않으므로 작업이 완료됩니다.