Wie beende ich den CCLibrary-Prozess programmgesteuert durch PID?

Ich muss wissen, wie man einen Befehl oder ein Skript schreibt, um die Prozesse CCLibrary und CCXProcess zu beenden. Sie sind Teil der Creative Cloud von Adobe und seit ihrem letzten Update werden sie immer wieder neu gestartet und lassen meine CPU zu 100 % laufen.

Bis ein Fix herauskommt, hätte ich gerne eine schnelle Möglichkeit, es zu beenden, ohne den Aktivitätsmonitor durchlaufen zu müssen.

Wenn ich es versuche

sudo killall CCLibrary

Ich erhalte "Es wurden keine passenden Prozesse gefunden".

Ich kann ps -ef verwenden, um die PID-Nummer (z. B. 9548) zu finden. Ich kann sie grep, z

ps -ef | grep CCLibrary.app

die zwei Aktivitäten zurückgibt, die CCLibrary und das grep selbst.

$ 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 

Dann kann ich anhand der PID-Nummer "töten".

Aber wie kann ich ein Skript schreiben, um diese PID als Variable zu finden und sie dann zu beenden?

Kommentare sind nicht für längere Diskussionen gedacht; diese Konversation wurde in den Chat verschoben .
Ich würde die Zusammenarbeit im Antwortraum fördern, da das Durcharbeiten der Antwort hilfreich sein wird. Chat funktioniert auch :).

Antworten (2)

Anstatt die Prozesse kontinuierlich zu beenden, gibt es eine Möglichkeit, den Creative Cloud-Anwendungsmanager von Adobe zu deinstallieren, der in diesem Thread erwähnt wird .

  1. Laden Sie Adobe Creative Cloud Cleaner von diesem Link herunter: http://download.macromedia.com/SupportTools/Cleaner/mac/AdobeCreativeCloudCleanerTool.dmg

  2. Wählen Sie dann NUR Creative Cloud aus

  3. Dann "ausgewählte deinstallieren" und neu starten

Und Ihre Fans werden endlich verstummen. Die anderen Apps funktionieren noch.

Dies hat mir nicht nur geholfen, den Prozess von OP zu eliminieren, sondern auch Adobe Creative Desktop. Beifall.

Ich spare mir das „Warum das eine schlechte Idee ist“ nach der Antwort auf, aber hier sind einige Tricks, die Sie anwenden könnten. Da nicht jeder mit CC testen kann, wählen wir für dieses Beispiel Safari aus:

ps -ef | grep "Safari "

Zuerst füge ich nach dem Programmnamen ein Leerzeichen hinzu, um sicherzustellen, dass es kein Teil des Pfads ist. Verwenden Sie als Nächstes eckige Klammern um ein Zeichen des Prozessnamens, die verhindern, dass grep sich selbst findet. (Es gibt wahrscheinlich einen eleganteren Weg, dies zu tun, aber dieser Hack funktioniert für mich in Ordnung.)

ps -ef | grep "[S]afari "

Dadurch passt der Befehl grep nicht zu Safari - die Klammern würden Sie zum Beispiel nach entweder oder suchen [SZ]afariund abgleichen lassen. Wir wollen nur Mist bauen und keine alternativen Zeichen für Position 1 finden.SafariZafarigrep

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

Entfernen Sie das zweite durch Leerzeichen getrennte Wort, um die PID zu erhalten. So sieht das alles in einer Sitzung aus, um die von uns verwendeten Befehle zu debuggen:

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

Beachten Sie, dass ich früher echonur die Syntax des Befehls übergeben habe. Wenn ich ihn nicht wiederholt hätte, hätte der Kill-Befehl das Safari-Programm, mit dem ich diese Antwort schreibe, tatsächlich ausgeführt und beendet.

¯\_(ツ)_/¯

Also, jetzt sollten Sie bequem ein einzeiliges Skript schreiben, um den einen Prozess (hoffentlich) zu beenden, und wir kommen zum Teil der Antwort mit der schlechten Idee. Es wäre besser, es zu verwenden, killall server.jswenn Sie nicht damit rechnen, andere Server auszuführen, die Sie nicht töten möchten.

  • Was ist, wenn jemand ein anderes Programm oder ein Skript mit demselben Namen erstellt und Sie das jetzt auch töten oder wer weiß, worauf der awkBefehl abzielt?
  • Außerdem haben wir uns noch nicht einmal damit befasst, wie das Skript geplant werden soll. Führen Sie es alle 5 Minuten, einmal pro Stunde aus, und schlimmer noch, wie viel Schaden richtet es an der Arbeit an, die es gerade angeblich auf der CPU verrichtet?
Hallo, danke für den Vorschlag ... Ihre Schritte einzeln ausführen: Wenn ich ps -ef | grep "Safari" bekomme ich: 501 10184 9407 0 14:17 ttys001 0:00.00 grep Safari dh nur der Befehl grep.. (Safari läuft auf Prozess 10165). Ich verwende Yosemite - vielleicht macht das einen Unterschied?
@tomh Das könnte der Fall sein. Safari ist ein schlechtes Beispiel, da es so viele Übereinstimmungen gibt. Ich habe mich dafür entschieden, da ich jedes Mal, wenn ich das in der Vergangenheit getan habe, es bereut habe, getrollt zu haben, psum dann Maßnahmen zu ergreifen. Gelegentlich habe ich es trotzdem getan, aber ich habe alles in Syslog protokolliert und das Chaos so schnell wie möglich beseitigt. Pingen Sie mich im Ask Different Chat und wir können einen weiteren Stich machen.