Linux에서 fg 명령이나 Ctrl+Z를 사용하지 않고 작업을 중지, 일시 중지 또는 중단하는 방법은 무엇입니까? [복사]

Linux에서 fg 명령이나 Ctrl+Z를 사용하지 않고 작업을 중지, 일시 중지 또는 중단하는 방법은 무엇입니까? [복사]

저는 Linux를 처음 사용하지만 이 그림과 같이 fg 또는 ctrl+z 명령을 사용하지 않고 특정 작업을 중지, 일시 중지 및 일시 중단해야 하는 작업을 수행하고 있습니다. 숫자 뒤의 점은 무엇을 의미하며 & 기호는 세 번째를 의미합니까? 직업사진을 보려면 누르세요.

답변1

표시된 그래픽은 jobs명령의 출력입니다(글꼴은 실제 터미널에서 나올 수 없으므로 인쇄용으로 기록됨).

forever(무한 루프가 필요하며 sleep 10100% CPU 사용량을 피하기 위해 삽입이 필요함) 라는 스크립트가 있다고 가정해 보겠습니다 .

그런 다음 모두 셸에서 실행되는 6개의 작업을 시작 forever하고다른쉘 창. 한 번에 하나의 포그라운드 명령만 가질 수 있으므로 작업 2를 시작하기 전에 작업 1을 일시 중지해야 하는 식입니다.

모든 작업 상태는 kill프로세스 번호로 전송(사용)하는 다양한 SIG 코드와 관련되어 있습니다. 작업 번호는 첫 번째 셸에만 관련되어 있고 두 번째 셸에서 신호를 보내야 하기 때문에 프로세스 번호를 검색해야 합니다. 정기적으로 사용하면 pstree $PPID도움이 될 수 있습니다.

작업 3은 백그라운드에 있고 나머지 5개 작업은 외부적으로 표시되지 않으므로 포그라운드 작업이 없으며 쉘 프롬프트가 다시 표시됩니다. 여기서 명령을 실행 jobs하고 출력을 얻을 수 있습니다.

디스플레이 &작업 3이 백그라운드에서 시작됩니다. 이는 - . +쉘에서 출력되는 작업 상태 정보입니다.

편집: Bash에서는 이 작업을 수행할 수 없습니다. 나는 이것이 Bash가 프로세스 종료 상태를 요청하기 전에 적극적으로 수집하는 방식과 관련이 있다고 생각합니다. 나중에 다른 쉘을 시도해 보겠습니다.

관련 정보