명령의 프로세스 ID를 얻는 방법

명령의 프로세스 ID를 얻는 방법

배치 모드에서 일부 명령을 실행하고 있습니다. 기존 명령이 완료되면 추가 작업을 수행해야 하므로 명령이 완료될 때까지 기다려야 합니다.

예를 들어:

bsub -q gui -I calibre -drc -batch
wait 

wait 명령에 언급된 작업의 프로세스 ID를 가져오는 방법이나 기존 명령이 종료될 때까지 기다리는 다른 대안을 알려주실 수 있습니까?

답변1

이 시도

bsub -q gui -I calibre -drc -batch & pid=$!
wait ${pid}

여기에 pid변수가 있습니다 . 어떤 이름이라도 지정할 수 있습니다.

답변2

내장기다리다명령은 이미 작업을 수행해야 합니다. 백그라운드에서 실행 bsub되더라도 완료될 때까지 기다려야 합니다. bsub그러나 원하지 않으면 waitPID를 얻기 위해 또는 를 사용한 다음 "완료될 때까지 대기" 루틴을 직접 작성할 수 있습니다.pgrep bsubps -eo pid,comm | grep bsub

답변3

${pid}에 대해 상위 명령 pid=$!wait를 시도했지만 오류가 발생했습니다.

'기다릴 인수가 너무 많습니다.'

조사해 보시고 가능하다면 해결책을 제시해 주시기 바랍니다.

고마워요 이사

답변4

우리는 pgrep bsub도 사용하는 위 명령을 시도한 다음 pgrep bsub가 여전히 오류를 받을 때까지 기다립니다.

'기다릴 인수가 너무 많습니다.'

조사해 보시고 가능하다면 해결책을 제시해 주시기 바랍니다.

고마워요 이사

관련 정보