쉘 스크립트를 통해 COBOL 프로그램을 실행할 때 내 작업 번호를 어떻게 알 수 있나요?

쉘 스크립트를 통해 COBOL 프로그램을 실행할 때 내 작업 번호를 어떻게 알 수 있나요?

쉘 스크립트를 통해 COBOL 프로그램을 실행할 때 내 작업 번호를 어떻게 알 수 있나요?

답변1

당신이 하고 있는 일에 대해 더 자세히 설명해 주실 수 있나요? 귀하의 프로그램과 관련된 여러 "숫자"가 있습니다.

노트:내 예에서 달러 기호( $)는 명령 프롬프트를 나타내며 명령의 일부로 입력하기 위한 것이 아닙니다.

  1. 프로세스 번호

    프로그램이 Unix에서 실행되면 프로세스 ID가 할당됩니다. 이 프로그램이 있고 sleep100초 동안 실행한다고 가정해 보겠습니다 .

    $ sleep 10000
    

    그런 다음 명령을 사용하여 프로세스 ID를 찾을 수 있습니다 ps. 프로세스 ID는 입니다 9263. 예를 들면 다음과 같습니다.

    $ ps -eaf|grep sleep
    saml      9263  5736  0 05:48 pts/1    00:00:00 sleep 10000
    
  2. 백그라운드 작업

    프로그램이 백그라운드로 전환되면 실행 중인 셸에 직접 연결하지 않고도 계속 실행할 수 있습니다.

    $ sleep 10000 &
    [1] 9370
    

    sleep여기서는 10000초 동안 프로그램을 실행합니다 . &끝에 있는 앰퍼샌드( )는 쉘이 배경으로 설정하도록 지시합니다. 작업이 백그라운드로 전환되면 작업 번호가 다시 할당됩니다. 이 경우 작업 #1이 할당됩니다. 9370프로세스 ID입니다 .

    다음 명령을 사용하여 어떤 작업이 실행되고 있는지 확인할 수 있습니다 jobs.

    $ jobs
    [1]+  Running                 sleep 10000 &
    

    작업 번호를 사용하여 이 프로세스를 처리하거나 종료하거나 다시 포그라운드로 가져올 수 있습니다.

    $ kill %1
    
    $ fg
    -or-
    $ fg %1
    
  3. at 및 배치 명령

    작업 # 용량에 "숫자"가 나타나는 다른 위치가 있습니다. 명령을 사용하여 번호가 매겨진 예약된 작업을 대기열에 추가 at하거나 batch할당합니다.

    $ at -f mycrontest.sh  10pm tomorrow
    job 14 at Sun Jul  8 22:00:00 2007
    
  4. 컴퓨팅 클러스터 기술

    한 단계 더 나아가 사이트가 클러스터링 기술을 사용하는 경우그리드 스케줄러/그리드 엔진,스럼, 또는다른 사람, 이러한 시스템은 또한 각 개별 작업에 작업 #을 할당합니다.

답변2

#!/bin/bash

cobol_program &
echo "The COBOL program is running in the background with PID: $!"

man"특수 매개변수" 아래 페이지를 참조하십시오 .bash

관련 정보