miércoles, 23 de mayo de 2012

Script para matar los procesos de Wine / Winbugs que permanecen al cerrar aplicaciones de Windows. Solucin a: Wine ralentiza mi PC

Buenas!

Sé que para qué necesitamos usar Wine cuando en Linux tenemos todo lo necesario para trabajar... Pero a veces en la Universidad o el trabajo nos exigen programas específicos de Windows para realizar nuestras labores. Como en mi caso Derive6.0 .

Pues resulta que muchas veces al cerrar las aplicaciones de Winbugs hay procesos que permanecen ejecutándose, y eso me mosqueó bastante ya que hace trabajar a mi laptop sin sentido.

Para matar estos procesos construí un Script sencillo que acaba con la ejecución de todo lo relacionado con wine.

El script es éste:


#!/bin/bash

##Mata los procesos de wine

DOS=`ps -e | grep .exe`
VACIO=`ps -e | grep nopuedehaberningunocomoyo`
if [[ $DOS = $VACIO ]] ; then
echo No hay procesos de DOS
else
ps -e | grep .exe | sed 's/\ //g' | sed 's/?.*//g' | xargs kill
echo Procesos de DOS matados

fi
WINEE=`ps -e | grep wine`
if [[ $WINEE = $VACIO ]] ; then
echo No hay procesos de Wine
else
ps -e | grep wine | sed 's/\ //g' | sed 's/?.*//g' | xargs kill
echo Procesos de Wine matados
fi

if [ -f /home/miguel/*\.INI ] ; then
mv /home/miguel/*\.INI /home/`whoami`/.local/share/Trash/files/
echo Archivos movidos a la papelera
else
echo No había archivos de Windows para eliminar
fi

exit 0

Pegarlo en vuestro editor de textos y Guardarlo (en mi caso como matawinbugs.sh).

Para ejecutarlo directamente desde la terminal moverlo a la carpeta /usr/bin/ 
  • sudo mv ~/matawinbugs.sh /usr/bin/matawinbugs.sh

Y le damos permisos de ejecución:
  • sudo chmod +x /usr/bin/matawinbugs.sh

Y con ésto tras acabar de utilizar los programas de Winbugs sólo debemos teclear en la terminal:
  • matawinbugs.sh

Y matará los procesos de Windows, los de Wine y eliminará los archivos .INI tan molestos que crean algunos programas de Winbugs en nuestra carpeta personal.

Un saludo!

4 comentarios:

  1. Respuestas
    1. Gracias Moises,
      date cuenta de que en el último if del script pone /home/miguel y debes cambiarlo por /home/tuusuario

      Un saludo

      Eliminar