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

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

백그라운드에서 실행하려고 하는 작은 C 코드 조각이 있습니다. launcher 를 사용하면 &top 또는 ps에서 프로세스를 찾을 수 있고, 파일에 연결하거나 run을 사용하면 예상되는 I/O가 터미널이나 다른 곳에 표시되는 것을 볼 수 있습니다 nohup.

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

답변1

does애플리케이션을 시작하자마자 제어권이 셸로 돌아가고 화살표 키를 사용하여 기록에 액세스할 수 있습니다. 어떤 이유로 쉘은 Enter 키를 누를 때까지 프롬프트를 인쇄하지 않습니다. Enter( )를 누르기 전에 명령을 입력하여 이를 확인할 수 있습니다 ls. 결과가 화면에 표시되어야 합니다.

관련 정보