Necesito saber cómo escribir un comando o secuencia de comandos para eliminar los procesos CCLibrary y CCXProcess. Forman parte de Creative Cloud de Adobe, y desde su actualización anterior siguen reapareciendo y ejecutando mi CPU al 100%.
Hasta que salga una solución, me gustaría una forma rápida de eliminarlo, sin tener que pasar por el Monitor de actividad.
cuando intento
sudo killall CCLibrary
Me sale "No se encontraron procesos coincidentes".
Puedo usar ps -ef para encontrar el número PID (por ejemplo, 9548) Puedo grep, por ejemplo
ps -ef | grep CCLibrary.app
que devuelve dos actividades, la CCLibrary y la propia 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" según el número PID
Pero, ¿cómo puedo escribir un script para encontrar ese PID como una variable y luego eliminarlo?
En lugar de eliminar continuamente los procesos, hay una manera de desinstalar el administrador de aplicaciones Creative Cloud de Adobe, mencionado en este hilo .
Descargue Creative Cloud Cleaner de Adobe desde este enlace: http://download.macromedia.com/SupportTools/Cleaner/mac/AdobeCreativeCloudCleanerTool.dmg
Luego seleccione SOLAMENTE Creative Cloud
Y tus fans finalmente se callarán. Las otras aplicaciones todavía funcionan.
Guardaré el "por qué esta es una mala idea para después de la respuesta", pero aquí hay algunos trucos que puede usar. Dado que no todos pueden probar con CC, elijamos Safari para este ejemplo:
ps -ef | grep "Safari "
Primero, agrego un espacio después del nombre del programa para asegurarme de que no sea parte de la ruta. Luego, use corchetes alrededor de un carácter del nombre del proceso, que evita que grep se encuentre a sí mismo. (Probablemente haya una forma más elegante de hacer esto, 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 hacer coincidir Safari
o, Zafari
por ejemplo. Solo queremos equivocarnos 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 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
Tenga en cuenta que solía echo
simplemente pasar la sintaxis del comando: si no lo hiciera eco, entonces el comando matar se habría ejecutado y eliminado el programa Safari que estoy usando para escribir esta respuesta.
¯\_(ツ)_/¯
Entonces, ahora debería sentirse cómodo escribiendo un script de una línea para eliminar el proceso único (con suerte) y llegamos a la parte de la respuesta que es una mala idea. Sería mejor usarlo killall server.js
si nunca prevé ejecutar otros servidores que no desea eliminar.
awk
decide apuntar el comando?ps
para luego tomar acción. Todavía lo hice de vez en cuando, pero registré todo en syslog y limpié el desorden tan pronto como pude. Hazme un ping en Ask Different Chat y podemos hacer otra puñalada.
bmike
bmike