2 votos

cerrar todas las instancias de google chrome excepto la primera

Puedo cerrar google chrome con el siguiente comando bash:

kill -9 $(ps -x | grep "Google Chrome" | awk "{print $1}")

Cierra todas las instancias de google chrome. Pero necesito un comando que cierre todas las instancias de google chrome excepto la primera, porque allí se está reproduciendo música y no quiero detenerla.

Utilizo la palabra instance para expresar nueva ventana de google chrome que se abre después de que presione super N .

1 votos

Esto va a ser casi imposible desde la línea de comandos, ya que primero tendrá que recoger el PID de chrome://memory/ y luego construir de alguna manera una lista de procesos de ayuda que pertenecen a las pestañas excepto la que desea salir. Un Applescript para cerrar todas las pestañas excepto la pestaña actual podría ser posible, pero sólo he visto esos ganchos para safari.

0 votos

No quiero pestañas cerradas, sino instancias. La diferencia entre pestañas e instancias: abrir nueva pestaña: super+t Abrir nueva instancia: super+n

0 votos

Todavía no se puede asignar fácilmente una instancia a un pid sólo a partir del listado de procesos. Espero que alguien explique una manera de hacer esto, ya que sería impresionante script - sólo digo que podría no ser factible con la forma en que Chrome genera procesos en el sistema operativo.

4voto

Fuzzy Purple Monkey Puntos 702

Para cerrar todas las ventanas excepto la más frontal, ejecute:

osascript -e 'tell app "Google Chrome" to close (windows 2 thru -1)'

Para cerrar todas las ventanas excepto la ventana abierta en primer lugar, ejecute un script como éste en el Editor de AppleScript:

tell application "Google Chrome"
    if number of windows < 2 then return
    set min to id of window 1
    repeat with w in windows 2 thru -1
        if id of w < min then set min to id of w
    end repeat
    close (windows where id is not min)
end tell

Las "instancias" suelen llamarse ventanas en OS X, y las ventanas no son instancias separadas de un proceso como las instancias abiertas por open -n .

1 votos

Osascript -e 'tell app "Google Chrome" to close (Windows 2 thru -1)' 28:53: error de ejecución: Google Chrome obtuvo un error: Can't get Windows 2 through -1. Invalid index. (-1719)

2 votos

¿Hay dos o más ventanas abiertas? También puede utilizar osascript -e 'tell app "Google Chrome" to if number of windows >= 2 then close (windows 2 thru -1)' .

0 votos

Cierra todas las ventanas excepto la última. ¿Cómo modificar este script para que cierre todas las ventanas excepto la PRIMERA? Y que ignore Google Chrome Windows abiertas por selenio rc . Esto significa: Tengo un montón de google chrome Windows abierto por selenium rc , pero esta Apple script no los cierra. Simplemente ignora.

2voto

user5783745 Puntos 109

Llegué aquí tratando de averiguar cómo cerrar todas las instancias de Chrome desde terminal en MacOS. Esto es lo que funcionó para mí:

pkill -9 "Google Chrome"

1voto

dengST30 Puntos 113

Debe establecer el número 100 como el recuento que necesitas ( total app instance - 1 )

repeat 100 times
    -- get list of open apps
    tell application "System Events"
    set allApps to displayed name of (every process) as list
    end tell

    -- leave some apps open 
    set exclusions to {"Google Chrome"}

    -- quit each app
    repeat with thisApp in allApps
    set thisApp to thisApp as text
    if thisApp is in exclusions then
        tell application thisApp to quit
    end if
    end repeat
end repeat

en task.scpt

uso en terminal:

osascript /Users/task.scpt

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X