web-dev-qa-db-fra.com

Comment tuer un processus Windows dans un terminal Cygwin?

J'ai un problème pour savoir comment tuer un processus en Cygwin sous Windows. Je suis complètement nouveau à Cygwin. Mais j'ai une tâche que je ne peux tout simplement pas tuer. J'ai essayé de délivrer les commandes suivantes:

kill 4568
kill -9 4568
/bin/kill -f 4568

J'ai émis les commandes dans un terminal Cygwin séparé depuis que je ne peux pas Ctrl + C dans le terminal Cygwin où le processus est exécuté. J'ai cherché partout sur Internet sans succès.

19
user1093774

Si vous voulez une solution bash uniquement, essayez ceci: (cela fonctionne pour moi)

    KILLPS="<My Process Name>"
    WINPS=`ps -W | grep -i $KILLPS`         # Make case-insensitive.
    PID=`echo $WINPS | cut -d' ' -f1` 
    /bin/kill -f "$PID"

Remarque: Utilisez/bin/tuer, la coque intégrée ne tuera pas PIDS pour les PROCESSES WINDOWES GÉNÉRALES.

5
dpminusa

(De - ma réponse à une question similaire sur SO ):

Différents programmes Windows géreront les signaux qui tuent les envois différemment; Ils n'ont jamais été conçus pour y faire face de la même manière que les programmes Linux/Cygwin sont.

La seule méthode fiable pour tuer un programme Windows est d'utiliser un outil spécifique Windows, tel que le gestionnaire de tâches ou l'explorateur de processus.

Cela dit, si vous n'êtes pas déjà fait, vous pouvez avoir de la chance avec la gestion de votre terminal Cygwin en mode administrateur (clic droit sur votre raccourci et sélectionnez "Exécuter en tant qu'administrateur").

2
me_and

À Git Bash j'utilise:

targetProcess='chromedriver.exe';
ps -W | grep -i ${targetProcess} | awk '{print $1}' | while read pid; do taskkill //PID ${pid}; done;

Je n'ai pas essayé en Cygwin, mais je suppose que cela fonctionnera aussi.

0