백그라운드 프로세스를 시작하고 터미널은 명령줄로 돌아가기 전에 LF/CR을 기다립니다.

백그라운드 프로세스를 시작하고 터미널은 명령줄로 돌아가기 전에 LF/CR을 기다립니다.

백그라운드에서 실행하려고 하는 작은 C 코드 조각이 있습니다. 를 사용하여 프로그램을 시작하면 &top 또는 ps를 사용하여 프로세스를 찾을 수 있으며, 파일로 파이프되거나 nohup.

내 문제는 다음과 같습니다. 앱을 시작한 다음 즉시 명령줄로 제어권을 반환하는 대신 터미널은 명령줄을 다시 표시하기 위해 Enter 키를 누르거나 위쪽 화살표를 사용하여 명령 기록을 스크롤하기 시작할 때까지 기다리는 것처럼 보입니다. Enter 키를 다시 누르지 않고도 백그라운드에서 앱을 실행하고 명령줄에 다시 액세스할 수 있습니까? 나는 nohup, disown, 등 의 다양한 조합을 시도했지만 2>&1운이 좋지 않았습니다.

답변1

화살표 키를 사용하여 기록에 액세스할 수 있다는 사실에서 알 수 있듯이 컨트롤은 does앱을 시작한 직후 셸로 돌아갑니다. 어떤 이유로 쉘은 리턴을 누를 때까지 프롬프트를 인쇄하지 않습니다. Enter()를 누르기 전에 명령을 입력하여 이를 확인할 수 있습니다 ls. 그 결과가 화면에 표시되어야 합니다.

관련 정보