4 votos

¿Cómo puedo eliminar el proceso CCLibrary por PID de forma programada?

Necesito saber cómo escribir un comando o script para matar los procesos CCLibrary y CCXProcess. Son parte de Creative Cloud de Adobe, y desde su anterior actualización no dejan de respawnear y hacer funcionar mi CPU al 100%.

Hasta que salga una solución, me gustaría tener una forma rápida de eliminarlo, sin tener que pasar por el Monitor de Actividad.

Cuando intento

sudo killall CCLibrary

Obtengo "No se han encontrado procesos coincidentes".

Puedo usar ps -ef para encontrar el número PID (por ejemplo, 9548) Puedo hacer un grep, por ejemplo

ps -ef | grep CCLibrary.app

que devuelve dos actividades, la CCLibrary y el propio grep.

$ ps -ef|grep CCLibrary 
501 9621 1 0 12:18pm ?? 51:51.71 /Applications/Utilities/Adobe Creative Cloud/CCLibrary/CCLibrary.app/Contents/MacOS/../libs/node /Applications/Utilities/Adobe Creative Cloud/CCLibrary/CCLibrary.app/Contents/MacOS/../js/server.js 
501 9818 9407 0 1:10pm ttys001 0:00.00 grep CCLibrary 

Entonces puedo "matar" basándome en el número PID

Pero, ¿cómo puedo escribir un script para encontrar ese PID como variable y luego matarlo?

0 votos

Los comentarios no son para ampliar la discusión; esta conversación ha sido trasladado al chat .

0 votos

Me gustaría animar a la colaboración en el espacio de respuesta, ya que el trabajo a través de la respuesta será útil. El chat también funciona :).

6voto

tomh Puntos 208

En lugar de matar continuamente los procesos, hay una forma de desinstalar el gestor de aplicaciones de Creative Cloud de Adobe, mencionado en este hilo .

  1. Descargue el limpiador de Creative Cloud de Adobe desde este enlace: http://download.macromedia.com/SupportTools/Cleaner/mac/AdobeCreativeCloudCleanerTool.dmg

  2. A continuación, seleccione SOLO Creative Cloud

  3. Luego "desinstalar seleccionado" y reiniciar

Y tus fans finalmente se callarán. Las otras aplicaciones siguen funcionando.

0 votos

Esto no sólo me ayudó a eliminar el proceso de OP, sino también el de Adobe Creative Desktop. Saludos.

3voto

Oskar Puntos 1242

Me guardaré el "por qué es una mala idea para después de la respuesta", pero aquí hay algunos trucos que puedes utilizar. Como no todo el mundo puede probar con CC, vamos a elegir Safari para este ejemplo:

ps -ef | grep "Safari "

Primero, añado un espacio después del nombre del programa para asegurarme de que no forma parte de la ruta. A continuación, utilice un corchete alrededor de un carácter del nombre del proceso, que evita que grep se encuentre a sí mismo. (probablemente hay una forma más elegante de hacerlo, pero este truco funciona bien para mí)

ps -ef | grep "[S]afari "

Esto hace que el comando grep no coincida con Safari - los corchetes le permitirían buscar [SZ]afari y coincidir con Safari o Zafari por ejemplo. Sólo queremos estropear grep y no encontrar caracteres alternativos para la posición 1.

ps -ef | grep "[S]afari " | awk '{print $2}'

Elimine la segunda palabra separada por espacios en blanco para obtener el PID. Así es como se ve todo esto en una sesión para depurar los comandos que estamos usando:

mac:~ me$ ps -ef | grep Safari
  501   300     1   0 Wed06PM ??        45:03.88 /Applications/Safari.app/Contents/MacOS/Safari -psn_0_40970
  501   520     1   0 Wed06PM ??         1:08.95 /usr/libexec/SafariCloudHistoryPushAgent
  501   590     1   0 Wed06PM ??         1:39.35 /System/Library/PrivateFrameworks/SafariSafeBrowsing.framework/com.apple.Safari.SafeBrowsing.Service
  501   608     1   0 Wed06PM ??         0:10.31 /System/Library/PrivateFrameworks/SafariShared.framework/Versions/A/XPCServices/com.apple.Safari.SearchHelper.xpc/Contents/MacOS/com.apple.Safari.SearchHelper
  501  2476     1   0 Wed06PM ??         0:01.56 /System/Library/PrivateFrameworks/SafariShared.framework/Versions/A/XPCServices/com.apple.Safari.ImageDecoder.xpc/Contents/MacOS/com.apple.Safari.ImageDecoder
  501 38802     1   0 Thu01PM ??         0:02.41 /usr/libexec/SafariNotificationAgent
  501 92847 90892   0  7:27AM ttys013    0:00.00 grep Safari
mac:~ me$ ps -ef | grep "Safari "
  501   300     1   0 Wed06PM ??        45:04.31 /Applications/Safari.app/Contents/MacOS/Safari -psn_0_40970
  501 92875 90892   0  7:27AM ttys013    0:00.01 grep Safari 
mac:~ me$ ps -ef | grep "[S]afari "
  501   300     1   0 Wed06PM ??        45:04.57 /Applications/Safari.app/Contents/MacOS/Safari -psn_0_40970
mac:~ me$ ps -ef | grep "[S]afari " | awk '{ print $2 }'
300
mac:~ me$ echo kill `ps -ef | grep "[S]afari " | awk '{ print $2 }'`
kill 300

Fíjate que he utilizado echo para pasar sólo la sintaxis del comando - si no lo hiciera, entonces el comando kill se habría ejecutado realmente y matado el programa Safari que estoy usando para escribir esta respuesta.

¯\_(ツ)_/¯

Así que, ahora deberías estar cómodo escribiendo una línea script para matar el único proceso (con suerte) y llegamos a la parte de mala idea de la respuesta. Sería mejor usar killall server.js si no tienes previsto ejecutar otros servidores que no quieres que se maten.

  • Qué pasa si alguien hace otro programa o un script con el mismo nombre, ahora estás matando eso también o matando quién sabe qué el awk ¿el comando decide el objetivo?
  • Además, ni siquiera hemos entrado en cómo programar el script. Lo ejecuta cada 5 minutos, una vez por hora, y peor aún, cuánto daño hace a cualquier trabajo que supuestamente está haciendo en la CPU en este momento.

0 votos

Hola, gracias por la sugerencia... Siguiendo tus pasos uno a uno: Cuando ejecuto ps -ef | grep "Safari " obtengo: 501 10184 9407 0 2:17pm ttys001 0:00.00 grep Safari, es decir, sólo el comando grep (Safari se ejecuta en el proceso 10165). Estoy usando Yosemite - tal vez esto hace una diferencia?

0 votos

@tomh Ese podría ser el caso. Safari es un mal ejemplo ya que hay muchas coincidencias. Lo elegí ya que cada vez que hice esto en el pasado, me arrepentí de trolear ps para luego pasar a la acción. Todavía lo hacía en ocasiones, pero registraba todo en syslog y limpiaba el desorden tan pronto como podía. Pínchame en Pregunte a un chat diferente y podemos dar otra puñalada.

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