PIDによってCCLibraryプロセスをプログラムで強制終了する方法を教えてください。


4

CCLibraryおよびCCXProcessプロセスを強制終了するためのコマンドまたはスクリプトの書き方を知る必要があります。これらはアドビのCreative Cloudの一部であり、前回のアップデート以降、私のCPUを100%の速度で再起動して実行し続けています。

修正が出るまでは、Activity Monitorを通さなくても簡単に修正できると思います。

試してみると

sudo killall CCLibrary

「一致するプロセスが見つかりません」と表示されます。

ps -efを使ってPID番号を見つけることができます(例9548)。 手に入れることができます。

ps -ef | grep CCLibrary.app

これは2つのアクティビティ、CCLibraryと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 

それから私はPID番号に基づいて「殺す」ことができます

しかし、どのように私は変数としてそのPIDを見つけてそれを殺すためにスクリプトを書くことができますか?


コメントは詳細な議論のためではありません。この会話はされています チャットに移動
bmike

答えを通して作業することが役に立つので、私は答え空間での共同作業を奨励します。チャットもうまくいきます:)。
bmike

回答:


5

プロセスを絶えず強制終了するのではなく、AdobeのCreative Cloudアプリケーションマネージャをアンインストールする方法があります。 このスレッドで言及

  1. このリンクからAdobeのCreative Cloud Cleanerをダウンロードしてください。 http://download.macromedia.com/SupportTools/Cleaner/mac/AdobeCreativeCloudCleanerTool.dmg

  2. 次にCreative Cloudのみを選択します

  3. それから「選択したアンインストール」して再起動します

そして、あなたのファンはついに沈黙するでしょう。他のアプリはまだ動作します。


これは私がOPのプロセスを排除するのを助けただけでなく、Adobe Creative Desktopも同様にしました。乾杯。
chb

3

「これが答えの後で悪い考えである理由」を保存しますが、ここであなたが使用するかもしれないいくつかのトリックがあります。誰もがCCでテストできるわけではないので、この例ではSafariを選択しましょう。

ps -ef | grep "Safari "

まず、プログラム名の後にスペースを追加して、パスの一部ではないことを確認します。次に、プロセス名の1文字を角括弧で囲み、grepが自分自身を見つけられないようにします。 (これを行うにはもっとエレガントな方法があるかもしれませんが、このハックは私にはうまくいきます)

ps -ef | grep "[S]afari "

これはgrepコマンドをSafariと一致させません - 大括弧を使うと検索できます [SZ]afari そしてどちらかにマッチ Safari または Zafari 例えば。ちょっとめちゃくちゃにしたい grep 位置1の代替文字は見つかりません。

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

PIDを取得するために、2番目の空白で区切られた単語を削除します。これが、1つのセッションで、使用しているコマンドをデバッグする方法です。

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

私が使った通知 echo 単にコマンドの構文を渡すために - 私がそれをエコーし​​なかったなら、killコマンドは実際に実行され、私がこの答えを書くために使用しているSafariプログラムを殺したでしょう。

¯\_(ツ)_/¯

だから、今、あなたは1行のスクリプトを書いて1つのプロセスを殺すことに慣れているはずです(うまくいけば)、そして私たちは答えの悪い考えの部分に来ます。それを使用する方が良いでしょう killall server.js あなたが殺したくないという他のサーバを走らせることをこれまでに予想していないなら。

  • 誰かが同じ名前の別のプログラムやスクリプトを作成した場合はどうなりますか? awk コマンドがターゲットに決定する?
  • また、スクリプトをスケジュールする方法にも慣れていません。あなたは5分毎に、1時間に1回実行しますか、そしてさらに悪いことに、それが今それがCPU上でしていると思われるどんな仕事にもどれほどのダメージを与えますか。

こんにちは、提案をお寄せいただきありがとうございます。 grep "Safari"次のようになります。501 10184 9407 0 2:17 pm ttys001 0:00.00 grep Safariつまりgrepコマンドのみ(Safariはプロセス10165で実行されています)。私はヨセミテを使用しています - 多分これは違いを生むのでしょうか?
tomh

@tomhそうかもしれません。たくさんの試合があるので、Safariは悪い例です。私が過去にこれをした時はいつでも、私はそれを選びました、私はトローリングを後悔しました ps それから行動を起こすために。私はまだ時々それをしました、しかし、私はsyslogに全てを記録して、できるだけ早く混乱を片付けました。私をping 別のチャットを依頼する そして私達は別の突き刺しをすることができる。
bmike
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.