Blog CalendarVisitors Statistics![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Blog Archive
|
Eliminar procesos del WebServer de Visual StudioCuantas veces no sucede que ejecutas una aplicación web de Visual Studio y se queda el servidor activo? En algunas ocasiones facilita la ejecución de la página, pero en otras ocasiones es muy molesto porque si trabajas con cache o alguna marranada en memoria y tienes varias aplicaciones en el proyecto, pueden cargarse tantas instancias como proyectos web tengas. Si quieres el camino rápido ejecuta los siguientes pasos.
Get-Process | Where { $_.Name -Eq "WebDev.WebServer" } | Kill
PowerShell.exe [PathDelArchivo]\ScriptKillWS.ps1
![]()
Set-ExecutionPolicy RemoteSigned
Update:[04/Marzo/2010] Si con esto no te deja ejecutarlo, en la terminal después de ejecutar el comando anterior manda a llamar el script desde consola.
Set-ExecutionPolicy RemoteSigned
ScriptKillWS.ps1 Ahora ... quieres entender lo que hiciste? .. sigue leyendo Para esto se me ocurrió que google podría ayudarme a conocer como eliminarlos mediante un script, además, como he tenido algo de ganas de conocer los comandos de Power Shell, que mejor que este incidente para presentarme con los comandos e iniciar una relación más cercana de amigos, que digo de amigos de compadres, jejeje. Ok, lo primero que debemos conocer es que como obtener un listado de los procesos que se ejecutan en la máquina. El comando en Power Shell es Get-Process.
Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
------- ------ ----- ----- ----- ------ -- ----------- 76 8 1492 4604 31 0.12 5884 alg 113 11 1500 4204 40 0.25 1768 AppleMobileDeviceService 87 14 2252 5380 46 0.17 4316 aspnet_state 26 6 960 3292 42 0.17 7136 BluetoothHeadsetProxy 299 40 31016 15556 169 1.29 6668 BTStackServer 220 17 6708 13904 137 0.16 2340 BTTray 107 9 2228 5308 59 0.14 1900 btwdins 92624 23 18968 1508 86 1.00 3528 ccSvcHst 129 103 128348 121960 249 202.61 404 chrome 2206 40 34920 47640 290 132.49 3552 chrome 99 13 4632 8736 111 0.02 3768 chrome Luego realizamos un filtro con Where:
Get-Process | Where { $_.Name -Eq "WebDev.WebServer" }
Y por último ponemos un Kill:
Get-Process | Where { $_.Name -Eq "WebDev.WebServer" } | Kill
Explicando el comando, lo que significa la sentencia anterior es que obtenemos los procesos (Get-Process), le pasamos el resultado al filtro (Where) donde le decimos que proceso queremos eliminar, osea, donde el nombre ($_.Name) sea igual (-Eq) al proceso que estamos buscando (WebDev.WebServer) y por último le decimos que todos los que coincidan se mueran (Kill).... osea .. que se jodan! OK, que bonito, ya sabemos que con Power Shell se pueden eliminar procesos, pero luego el pequeño saltamontes interno que siempre quiere aprender le pregunta al Hamster que siempre está activo en nuestro cerebro. ... ¿Cada que quiera eliminar procesos tengo que abrir la consola de Power Shell? No mi querido saltamontes solo tienes que seguir algunos pasos y el primero es guardar el comando anterior en un script llamado ScriptKillWS.ps1 Para facilitarnos la vida ahora solo tenemos que hacer un pequeño acceso directo en el escritorio para ejecutarlo cada vez que se quiera eliminar ese proceso con los siguientes parámetros:
PowerShell.exe [PathDelArchivo]\ScriptKillWS.ps1
Hasta ahí todo va bien, sin embargo resulta que para ejecutar un script en tu máquina por default las políticas de windows (que ya va mejorando la seguridad) nos restringe y salvo se lo indiquemos explicitamente no podremos ejecutar nuestro script antes realizado. Aquí es donde entramos a la consola de Power Shell y tecleamos:
Set-ExecutionPolicy RemoteSigned
Y listo, nuestro script para eliminar procesos ayudará a no tener que cerrar cada instancia manualmente.
Trackback URI: http://es.iver.com.mx/index.php?trackback/153
Leave a Comment
Comment XML feeds: RSS | Atom
FileBrowser |
Recent Comments On Blog