
Tengo un problema con respecto a cómo finalizar un proceso en Cygwin en Windows. Soy completamente nuevo en Cygwin. Pero tengo una tarea que simplemente no puedo completar. Intenté emitir los siguientes comandos:
kill 4568
kill -9 4568
/bin/kill -f 4568
He emitido los comandos en una terminal Cygwin separada ya que no puedo presionar Ctrl+C en la terminal Cygwin donde se ejecuta el proceso. He buscado por todo internet sin éxito.
Respuesta1
ps -W | awk '/calc.exe/,NF=1' | xargs kill -f
O
ps -W | awk '$0~v,NF=1' v=calc.exe | xargs kill -f
O
powershell kill -n calc
Respuesta2
Puedes intentar:
taskkill /pid 4568
Respuesta3
Si desea una solución exclusiva de BASH, pruebe esto: (a mí me funciona)
KILLPS="<My Process Name>"
WINPS=`ps -W | grep -i $KILLPS` # Make case-insensitive.
PID=`echo $WINPS | cut -d' ' -f1`
/bin/kill -f "$PID"
NOTA: use /bin/kill, la eliminación del shell integrada no eliminará los PID para procesos generales de Windows.
Respuesta4
Dos cosas para pensar aquí:
- Obtenga el PID correcto, que es el WINPID.
- Utilice la herramienta adecuada.
Para obtener el WINPID correcto para eliminar, utilice cat /proc/<PID>/winpid
. Es decir, ejecute esto:
ZID=$$; WINPID=$(cat /proc/${ZID}/winpid); echo "Kill WINPID: ${WINPID}"; ps; sleep 10 &
e inmediatamente después haz otro ps
.
La herramienta adecuada a utilizar esSistemas internos' PsKill64.exe -t <winpid>
que también mata a todos los descendientes del proceso del script, lo cual kill
no es así.