linux - stopped - unix jobs stop




Linux: Tuer la tâche de fond (6)

C'est une réponse hors sujet, mais pour ceux qui sont intéressés, cela peut être utile.

Comme dans la réponse de John Kugelman,% est lié à la spécification du travail. comment trouver efficacement cela? utilisez la commande less & pattern , semble que man utilise moins pager (pas si sûr), dans man bash type &% alors taper Enter ne montrera que les lignes qui contiennent '%', pour tout afficher, tapez &. puis entrez.

Comment est-ce que je tue la dernière tâche de fond engendrée dans Linux?

Exemple:

doSomething
doAnotherThing
doB &
doC
doD
#kill doB
????

Cela devrait tuer tous les processus d'arrière-plan:

jobs -p | xargs kill -9

La commande suivante vous donne une liste de tous les processus d'arrière-plan dans votre session, avec le pid. Vous pouvez ensuite l'utiliser pour tuer le processus.

jobs -l

Exemple d'utilisation:

$ sleep 300 &
$ jobs -l
[1]+ 31139 Running                 sleep 300 &
$ kill 31139

Utilisez simplement la commande killall:

killall taskname

Pour plus d'informations et des options plus avancées, tapez "man killall".


Vous pouvez tuer par numéro d'emploi. Lorsque vous mettez une tâche en arrière-plan, vous verrez quelque chose comme:

$ ./script &
[1] 35341

That [1] est le numéro d'emploi et peut être référencé comme:

$ kill %1
$ kill %%  # Most recent background job

Pour voir la liste des numéros de travail, utilisez la commande jobs . Plus de man bash :

Il y a plusieurs façons de faire référence à un travail dans le shell. Le caractère % introduit un nom de travail. Le numéro de tâche n peut être appelé %n . Un travail peut également être référencé en utilisant un préfixe du nom utilisé pour le démarrer ou en utilisant une sous-chaîne qui apparaît dans sa ligne de commande. Par exemple, %ce réfère à un travail stop ce . Si un préfixe correspond à plusieurs tâches, bash signale une erreur. D'autre part, utiliser %?ce , fait référence à n'importe quel travail contenant la chaîne ce dans sa ligne de commande. Si la sous-chaîne correspond à plusieurs tâches, bash signale une erreur. Les symboles %% et %+ font référence à la notion de shell du travail en cours, qui est le dernier travail arrêté alors qu'il était au premier plan ou démarré en arrière-plan. Le travail précédent peut être référencé en utilisant %- . Dans la sortie relative aux travaux (par exemple, la sortie de la commande jobs), le travail en cours est toujours marqué d'un + , et le travail précédent d'un - . Un seul % (sans spécification de travail) fait également référence au travail en cours.


skill doB

skill est une version de la commande kill qui vous permet de sélectionner un ou plusieurs processus en fonction d'un critère donné.





job-control