Spiega perché guardare 'lavori' non funziona ma guardare 'ps' funziona?


9

jobsè il mio comando preferito per vedere i miei codici in esecuzione in background. Per verificarli dinamicamente, tendo a digitare

watch 'jobs'

che non mostra nulla. però

watch 'ps'

funziona perfettamente. Faccio lo stesso errore da mesi ormai.

Penso che capire perché il primo non funziona mentre il secondo possa aiutarmi a smettere di fare lo stesso errore.

Qualcuno può aiutare?



1
Una domanda più utile sarebbe " come posso farlo funzionare?" Tuttavia, perché (in questo caso) è più interessante.
ctrl-alt-delor,

Risposte:


20

jobsè un built-in che riporta lo stato della shell corrente: i comandi che erano in background con quella shell. watchesegue una nuova shell per ogni esecuzione e quella shell jobsnon ha modo di sapere quali watchsono i lavori della shell madre. psè un comando esterno e non ha mai usato lo stato della shell.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.