2016-02-19 2 views
0

Je travaille avec des cendres/tableau de bord et essayer de tuer un sous-processus - qui ne semble pas répondre:Impossible de supprimer un travail arrêté - aucun contrôle de travail en cours de sous-processus?

sh & ouvre un sous-processus et jobs délivre [1]+ Stopped (tty Input) sh.

Mais essayer de tuer ce travail avec kill %1 ou kill 26672 ne fonctionne pas. jobs livre de nouveau [1]+ Stopped (tty Input) sh.

Après avoir mis le travail au premier plan avec fg ouvre le shell pour l'entrée. Ni ctrl+c ni ctrl+z fonctionnent, mais je peux tuer le processus avec exit ou kill -SIGKILL $$ respectivement arrêter/suspendre le processus avec kill -STOP $$ (il n'y a pas suspend -command dans les cendres). D'autre part, le faire avec sleep 100 fonctionne bien jusqu'à I fg et arrêter le processus avec ctr+z. Ensuite, je ne suis pas en mesure de kill ce travail arrêté.

Alors qu'est-ce qui me manque et quelle pourrait être la solution pour tuer un travail arrêté? Dois-je faire face à set -m et comment?

Merci d'avance.

+0

De quel système d'exploitation s'agit-il? – kometen

+0

Fondamentalement ** Busybox ** - qui offre le Almqvist-Shell inhérent (cendres). – deetee

Répondre

0

Vous pouvez lancer le processus Stopped par kill -SIGCONT %number et aussi si vous devez tuer ce processus, vous pouvez le tuer par kill -SIGTERM %number. Essayez ceci, je pense que cela va vous aider.

+0

Merci pour l'indice de la solution. En fait 'kill -SIGKILL% 1' ou' kill -KILL% 1' a tué le travail. Dans le cas de l'utilisation de cendres, la deuxième commande a fonctionné. Pour voir les signaux possibles, un shell supporte la commande 'kill -l'. Au lieu de '-SIGKILL' ou' -KILL', on peut aussi utiliser '-9'. Au fait: 'SIGTERM' n'a pas tué le boulot. – deetee