추가 읽기

추가 읽기

여기에 이미지 설명을 입력하세요.ctrl+Z 및 bg를 통해 실행 중인 프로세스를 일시 중지하여 프로세스를 백그라운드에 넣었는데 프로세스가 여전히 포그라운드에서 실행 중이어서 명령줄을 사용할 수 없습니다. 명령줄을 사용할 수 있도록 프로세스를 완전히 백그라운드에 배치하려면 어떻게 해야 합니까?

답변1

터미널 작업 제어와 관련하여 전경과 배경이 무엇을 의미하는지 잘못 이해하고 있습니다. 출력을 볼 수 있는지 여부에 의존하지 않습니다.

최종 장치(보다 구체적으로 라인 규율)에는 다음이 있습니다.포그라운드 프로세스 그룹 ID와 연관되다. 이는 라인 규율이 표준 모드에 있을 때 신호를 전송하고 신호에 매핑된 특수 문자 중 하나(라인 규율에 포함된 정보이기도 함)를 수신하는 프로세스 그룹을 결정합니다.

작업 제어 쉘은 쉘 작업을 구성하는 프로세스에 프로세스 그룹을 할당하고 이러한 프로세스 그룹과 자체 프로세스 그룹 사이에서 터미널 장치의 전경 프로세스 그룹을 전환하여 작업 제어를 수행합니다.

기본적으로 이는 이러한 프로세스의 터미널 출력에 영향을 주지 않습니다. 가지다단 하나tostop이는 선 규칙에서 플래그를 켜는 경우 ( stty또는 이러한 명령을 사용하여) 출력에 영향을 미칩니다. 간판에 불이 들어오네요기본값이 아님. (내가 아는 한 예외는 두 가지뿐입니다. 일부 운영 체제에서는 기본 초기 설정을 설정할 수 있지만진짜터미널(예:직렬 장치FreeBSD와 내 것;vc-reset-tty도구는 "정상" 상태로 재설정할 때 이 플래그를 설정합니다. )

따라서 출력을 생성하는 셸 작업을 실행하는 경우~ 할 것이다쉘의 출력과 혼합됩니다.

개방형 대안은 tostop여기서 도움이 되지 않습니다. 출력을 생성하는 셸 작업이 있습니다.계속해서. 분명히 출력 중대화형 진행 표시. 터미널 작업 제어가 잘 작동하지 않습니다지속적인 대화형 프로그램. (반대로 텍스트 편집기(예:) vi및 텍스트 파일 뷰어(예:)more계속해서인터렉티브. ) 선택 사항은 tostop진행률 표시가 다른 프로세스의 진행률 표시와 혼합되는 끄기 또는 tostop진행률 표시로 인해 진행률이 업데이트될 때마다 프로그램이 중지되는 켜기입니다.

또는 닫힌 손으로 두 터미널을 모두 사용하십시오.

추가 읽기

관련 정보