jobs
est ma commande préférée pour voir mes codes qui s'exécutent en arrière-plan. Afin de les vérifier dynamiquement, j'ai tendance à taper
watch 'jobs'
qui n'affiche rien. toutefois
watch 'ps'
marche parfaitement. Je fais la même erreur depuis des mois maintenant.
Je pense que comprendre pourquoi le premier ne fonctionne pas alors que le second fonctionne peut m'aider à arrêter de faire la même erreur.
Quelqu'un peut-il aider?
command-line
ps
background-process
jobs
watch
beaucoup
la source
la source
Réponses:
jobs
est une fonction intégrée qui rend compte de l'état du shell actuel: les commandes qui étaient en arrière-plan avec ce shell.watch
exécute un nouveau shell pour chaque exécution, et ce shelljobs
n'a aucun moyen de savoir quelswatch
sont les jobs du shell parent.ps
est une commande externe et n'a jamais utilisé l'état du shell.la source