Объясните, почему не работает «работа», а работает «пс»?

9

jobsмоя любимая команда, чтобы увидеть мои коды, которые работают в фоновом режиме. Чтобы динамически проверять их, я стараюсь набрать

watch 'jobs'

который ничего не отображает. Однако

watch 'ps'

работает отлично. Я делал ту же ошибку в течение нескольких месяцев.

Я думаю, понимание того, почему первое не работает, а второе работает, может помочь мне прекратить делать ту же ошибку.

Кто-нибудь может помочь?

многие
источник
1
Более полезным вопросом будет « как мне заставить его работать?» Однако почему (в данном случае) интереснее.
ctrl-alt-delor

Ответы:

20

jobsэто встроенный модуль, который сообщает о состоянии текущей оболочки: команды, которые были заданы в этой оболочке. watchзапускает новую оболочку для каждого выполнения, и эта оболочка jobsне может узнать, каковы задачи watchродительской оболочки. psявляется внешней командой, и она никогда не использовала состояние оболочки.

Мур
источник