jobs
백그라운드에서 실행되는 코드를 보기 위해 제가 가장 좋아하는 명령입니다. 동적으로 확인하기 위해 다음을 입력하는 경향이 있습니다.
watch 'jobs'
아무것도 표시되지 않습니다. 하지만
watch 'ps'
완벽하게 작동합니다. 나는 몇 달 동안 같은 실수를 저지르고 있습니다.
첫 번째가 작동하지 않고 두 번째가 작동하는 이유를 이해하면 동일한 실수를 저지르는 데 도움이 될 수 있습니다.
누구든지 도와줄 수 있나요?
답변1
jobs
현재 쉘의 상태를 보고하는 내장 명령, 즉 쉘의 백그라운드 명령입니다. watch
각 실행은 새로운 쉘을 실행하며 해당 쉘은 상위 쉘의 작업이 무엇인지 jobs
알 수 없습니다 . 쉘의 상태를 사용하지 않는 외부 명령입니다.watch
ps