채용정보에 직위가 표시되지 않습니다.

채용정보에 직위가 표시되지 않습니다.

라는 파일이 있습니다go.sh

python3 bob.py &> lol.log & 
python3 alice.py &> lol2.log &

내가 달릴 때 ./go.sh다음을 실행하십시오 jobs. 내가 수행한 작업은 실제로 아무것도 나타나지 go.sh않았습니다 .jobsjobs

그러나 각 명령을 하나씩 실행하면 go.sh나타납니다 jobs.

이 문제를 어떻게 해결할 수 있나요?

답변1

나는 당신이 go.sh &그냥 실행하지 않는다고 가정하고 있습니다 go.sh. 그런 다음 jobs그것은 사소한 일이기 때문입니다(끝나고 나면 어떤 작업도 보고되지 않습니다).

스크립트는 백그라운드에서 두 가지 작업을 시작한 다음 완료됩니다. 그래서 당신은 그것을 볼 수 없습니다. 또한 다른 쉘이기 때문에 스크립트에 의해 시작된 작업을 볼 수 없습니다. 스크립트를 실행하는 대신 작업을 보려면 이 스크립트를 받으세요.

. go.sh; jobs

이제 두 개의 직위가 나열되어 있는 것을 볼 수 있습니다.

스크립트를 실행하고 여전히 작업으로 처리하려면 해당 하위 항목이 완료될 때까지 기다리라고 지시하십시오. wait끝나기 전에 추가했습니다. jobs스크립트 내에서 호출 할 수도 있습니다 .

답변2

작업은 입력 중인 쉘의 직계 하위인 경우에만 "jobs"에 표시됩니다. 스크립트는 새 프로세스의 하위 쉘에서 실행되므로 로그인 쉘의 하위 쉘이 아니며 로그인 쉘에 표시되지 않습니다.

관련 정보