이 자습서에서는 Linux의 Bash 대기 명령을 살펴봅니다.
통사론:
Linux에서 Wait 명령의 일반 구문은 다음과 같습니다.
대기 [옵션] 아이디
ID는 프로세스 ID 또는 작업 ID입니다.
Linux의 Bash 대기 명령 설명:
먼저 touch 명령을 사용하여 파일을 만듭니다.
$만지다BashWait.sh
아래 명령을 사용하여 이 파일을 실행 가능하게 만드십시오.
$chmod+x 파일 이름
파일에 실행 권한이 부여되면 파일을 열고 bash 파일에 스크립트를 작성합니다.
#!/bin/bash잠 삼 &
프로세스 ID=$!
던졌다 'PID:$processID'
기다리다 $processID
던졌다 '종료 상태: $?'
$! 가장 최근 프로세스의 PID를 저장하는 BASH의 변수입니다.
이제 다음과 같이 스크립트를 실행합니다.
$./파일 이름$./BashWait.sh
프로세스 ID 및 존재 상태가 셸에 나타납니다.
-n 옵션 사용:
–n 옵션을 사용하면 wait 명령은 종료 상태를 반환하기 전에 제공된 프로세스 ID 또는 작업 사양의 단일 작업이 완료될 때까지 대기합니다. Wait -n은 백그라운드 작업이 완료될 때까지 기다렸다가 인수가 제공되지 않은 경우 작업 종료 상태를 반환합니다.
스크립트에 다음 줄을 작성하십시오.
#!/bin/bash잠 30 &
잠 8 &
잠 7 &
기다리다 -N
던졌다 '첫 번째 작업이 완료되었습니다.'
기다리다
던졌다 '모든 작업이 완료되었습니다.'
그런 다음 스크립트를 다시 실행하고 첫 번째 작업이 완료되면 터미널에 메시지를 인쇄하고 다른 모든 작업이 완료될 때까지 기다립니다.
-f 옵션 사용:
-f 옵션은 종료 코드를 반환하기 전에 각 프로세스 ID 또는 작업이 중지될 때까지 기다립니다. 작업 제어는 기본적으로 응답 프롬프트에만 사용할 수 있습니다.
터미널을 열고 다음 명령을 실행합니다.
프로세스 3944를 기다립니다.
다른 터미널 창을 열고 kill 명령을 실행하여 프로세스를 종료합니다.
상태가 변경됩니다. 대기 명령이 완료되고 프로세스 종료 코드가 반환됩니다.
-f 명령을 사용하여 위에 제공된 단계를 반복합니다.
대기 명령으로 스크립트:
데모를 위해 'hello.sh' 및 'bash.sh' 스크립트를 사용하고 있습니다. 'hello.sh' 스크립트는 1부터 5까지의 숫자를 출력하고, 'bash.sh' 스크립트는 hello.sh를 호출하고 이를 백그라운드에서 실행하며, PID가 hello.sh이고 종료될 때까지 기다립니다.
이름이 hello 및 bash인 두 개의 스크립트를 작성하십시오.
hello.sh 파일에 아래 주어진 라인을 추가하십시오:
#!/bin/bash~을위한NS~에 1 2 삼 4 5 6 7 8 9 10
~하다
던졌다hello.sh – 루프 번호$i.
완료
bash 스크립트에 아래 주어진 라인을 추가하십시오:
#!/bin/bash던졌다bash.sh를 시작했습니다.
던졌다hello.sh를 시작했습니다.
./안녕하세요.sh&
프로세스 ID=$!
기다리다 $process_id
던졌다hello.sh 완료
산출:
결론:
사용자가 프로세스를 중지하려고 하면 시스템은 프로세스가 유지하고 있는 모든 리소스를 해제하고 다른 리소스가 시작될 때까지 기다립니다. 다른 프로세스가 완료되면 실행을 다시 시작할 수 있음을 프로세스에 알려야 합니다. bash의 wait 명령은 실행이 완료될 때까지 기다렸다가 프로세스 실행이 완료되면 종료 상태를 반환합니다. 이 매뉴얼에서는 Linux에서 Bash wait 명령의 몇 가지 예를 보았습니다.