Wyjaśnij, dlaczego zegarek „zadania” nie działa, a zegarek „ps” działa?

9

jobsto moje ulubione polecenie, aby zobaczyć moje kody, które działają w tle. Aby sprawdzić je dynamicznie, zwykle piszę

watch 'jobs'

który niczego nie wyświetla. jednak

watch 'ps'

działa świetnie. Od miesięcy popełniam ten sam błąd.

Myślę, że zrozumienie, dlaczego pierwszy nie działa, podczas gdy drugi działa, może pomóc mi przestać robić ten sam błąd.

Czy ktoś może pomóc?

wiele
źródło
1
Bardziej użytecznym pytaniem byłoby „ jak sprawić, by działało?” Jednak dlaczego (w tym przypadku) jest bardziej interesujący.
ctrl-alt-delor

Odpowiedzi:

20

jobsjest wbudowanym narzędziem, które raportuje stan bieżącej powłoki: polecenia, które były w tle z tą powłoką. watchuruchamia nową powłokę dla każdego wykonania, a ta powłoka jobsnie ma możliwości dowiedzenia się, jakie watchsą zadania powłoki macierzystej. psjest poleceniem zewnętrznym i nigdy nie używał stanu powłoki.

muru
źródło