Skip to content

Instantly share code, notes, and snippets.

@jivanpal
Last active August 6, 2023 17:23
Show Gist options
  • Star 47 You must be signed in to star a gist
  • Fork 3 You must be signed in to fork a gist
  • Save jivanpal/30af7741721e597575e10f5ef8560062 to your computer and use it in GitHub Desktop.
Save jivanpal/30af7741721e597575e10f5ef8560062 to your computer and use it in GitHub Desktop.
Stop Adobe Creative Cloud daemons (background processes) in their tracks
#!/bin/bash
if [ "$1" = "-s" ] || [ "$1" = "--show" ]; then
show=true
else
show=false
fi
if $show || [ "$1" = "-v" ] || [ "$1" = "--verbose" ]; then
verbose=true
else
verbose=false
fi
kill_list=""
for i in $(pgrep -i adobe); do
if $verbose; then
echo -n "PID $i -- "
ps -p "$i" -o command $($show || echo -c) | awk 'ORS=""; NR==2'
fi
ps -p "$i" -o command | awk 'NR==2' | grep -E '^/Applications/Adobe XD/Adobe XD\.app/Contents/MacOS/Adobe XD$' > /dev/null
if [ $? -eq 1 ] ; then
$verbose && echo " -- KILL"
kill_list="$kill_list $i"
else
$verbose && echo " -- KEEP ALIVE"
fi
done
if [ -z "$kill_list" ] ; then
$verbose && echo "Nothing to kill"
else
if $verbose; then
echo "KILL_LIST = $kill_list"
set -x
fi
$show || sudo kill -TERM $kill_list
fi
@alemens
Copy link

alemens commented Jun 15, 2021

Hi @jivanpal here my contribute with some real path. See if you need more

Adobe Applications path

Acrobat DC

realpath ~/Applications/Adobe Acrobat DC/Adobe Acrobat.app
~ cd /Applications/Adobe\ Acrobat\ DC 
➜  ~ pwd
/Applications/Adobe Acrobat DC
➜  ~ ls -lah
total 176
drwxrwxr-x@  6 root  wheel   192B Jun 10 18:26 .
drwxrwxr-x  30 root  admin   960B Jun 11 23:48 ..
drwxrwxr-x   3 root  wheel    96B Oct  3  2019 Acrobat Distiller.app
-rw-r--r--@  1 root  wheel   1.1K Jun 10 18:26 Acrobat Uninstaller
drwxrwxr-x   3 root  wheel    96B Jun 10 18:26 Adobe Acrobat.app
-rw-r--r--@  1 root  wheel     0B Jun 10 18:26 Icon?~ realpath /Applications/Adobe\ Acrobat\ DC/Adobe\ Acrobat.app                 
/Applications/Adobe Acrobat DC/Adobe Acrobat.app

Creative Cloud (note is a redirect into a more complex structure)

realpath ~/Applications/Utilities/Adobe Creative Cloud/ACC/Creative Cloud.app
~ cd /Applications/Adobe\ Creative\ Cloud 
➜  ~ pwd
/Applications/Adobe Creative Cloud
➜  ~ ls -lah
total 200
drwxr-xr-x@  6 root  admin   192B May 12 05:47 .
drwxrwxr-x  30 root  admin   960B Jun 11 23:48 ..
lrwxr-xr-x   1 root  admin    82B Oct  3  2019 .Uninstall Adobe Creative Cloud_bkp -> /Applications/Utilities/Adobe Creative Cloud//Utils/Creative Cloud Uninstaller.app
lrwxr-xr-x   1 root  admin    67B May 12 05:47 Adobe Creative Cloud -> /Applications/Utilities/Adobe Creative Cloud/ACC/Creative Cloud.app
-rw-r--r--@  1 root  admin     0B May 12 05:47 Icon?
lrwxr-xr-x   1 root  admin    82B Oct  3  2019 Uninstall Adobe Creative Cloud -> /Applications/Utilities/Adobe Creative Cloud//Utils/Creative Cloud Uninstaller.app
➜  ~ realpath /Applications/Adobe\ Creative\ Cloud/Adobe\ Creative\ Cloud 
/Applications/Utilities/Adobe Creative Cloud/ACC/Creative Cloud.app

Photoshop 2021

realpath ~/Applications/Adobe Photoshop 2021/Adobe Photoshop 2021.app
~ cd /Applications/Adobe\ Photoshop\ 2021 
➜  ~ pwd
/Applications/Adobe Photoshop 2021
➜  ~ ls -lah
total 160
drwxr-xr-x@  9 root  wheel   288B Jun 13 03:30 .
drwxrwxr-x  30 root  admin   960B Jun 11 23:48 ..
drwxr-xr-x   3 root  wheel    96B Jun 13 03:29 Adobe Photoshop 2021.app
drwxr-xr-x   3 root  wheel    96B Jun 13 03:29 Configuration
-rw-r--r--@  1 root  wheel     0B Jun 13 03:30 Icon?
drwxr-xr-x   3 root  wheel    96B May 18 10:58 Locales
drwxr-xr-x@  4 root  wheel   128B Jun 13 03:30 Plug-ins
drwxr-xr-x  39 root  wheel   1.2K Jun 13 03:30 Presets
-rw-r--r--@  1 root  wheel   948B Jun 13 03:30 Uninstall Adobe Photoshop 2021
➜  ~ realpath /Applications/Adobe\ Photoshop\ 2021/Adobe\ Photoshop\ 2021.app 
/Applications/Adobe Photoshop 2021/Adobe Photoshop 2021.app

Utilities folder structure

Because Creative Cloud has redirect, tell us if you need any other real path
~ cd /Applications/Utilities
➜  ~ pwd
/Applications/Utilities
➜  ~ ls -lah
total 0
drwxr-xr-x   9 root  wheel   288B Jun  9 01:31 .
drwxrwxr-x  30 root  admin   960B Jun 11 23:48 ..
-rw-r--r--   1 root  wheel     0B Jan  1  2020 .localized
drwxr-xr-x  14 root  wheel   448B May 12 05:47 Adobe Application Manager
drwxr-xr-x   8 root  wheel   256B May 12 05:47 Adobe Creative Cloud
drwxrwxr-x   3 root  wheel    96B Jun  9 01:31 Adobe Creative Cloud Experience
drwxr-xr-x   4 root  wheel   128B Apr 23 22:15 Adobe Genuine Service
drwxrwxr-x   4 root  admin   128B Jun 13 03:30 Adobe Installers
drwxrwxr-x   5 root  wheel   160B Jun  8 01:35 Adobe Sync

@zang74
Copy link

zang74 commented Sep 28, 2021

So, I've tweaked what I believe is a better catch-all GREP for many Creative Cloud apps, based on standard adobe installations and naming conventions.

ps -p "$i" -o command | awk 'NR==2' | grep -E '^\/Applications\/(Adobe( (\w)+)+)( [0-9]{4})?\/Adobe( (\w)+)+( [0-9]{4})?\.app\/Contents\/MacOS\/(\1|AdobeAcrobat|After Effects)$'

@hrvstr
Copy link

hrvstr commented Sep 29, 2021

So, I've tweaked what I believe is a better catch-all GREP for many Creative Cloud apps, based on standard adobe installations and naming conventions.

ps -p "$i" -o command | awk 'NR==2' | grep -E '^\/Applications\/(Adobe( (\w)+)+)( [0-9]{4})?\/Adobe( (\w)+)+( [0-9]{4})?\.app\/Contents\/MacOS\/(\1|AdobeAcrobat|After Effects)$'

This seems to work really well. The only thing I noticed is that it didn't catch CCLibrary.app.

@HarithSami
Copy link

How can I undo the script?

@bardtian
Copy link

bardtian commented Jun 3, 2022

I did simply rename "CCXProcess.app" to "CCXProcess-.app", and it works.
No adobecrdaemon is keeping running now.
I am using iMac.

@jivanpal
Copy link
Author

jivanpal commented Jun 17, 2022

@HarithSami The script just kills currently running processes, it doesn't make any permanent changes to the system configuration, so there is nothing to undo. If you restart Creative Cloud or just open one of the Creative Cloud apps, the daemons should be started again.

@Mr-Sheep
Copy link

Here's a really great kill-apps helper from sunknudsen/privacy-guides that can be added to .zshrc:

# Kill apps that match string
function kill-apps() {
  IFS=$'\n'
  red=$(tput setaf 1)
  normal=$(tput sgr0)
  if [ -z "$1" ] || [ "$1" = "--help" ]; then
    printf "%s\n" "Usage: kill-apps string"
    return 0
  fi
  printf "%s\n" "Finding apps that match “$1”…"
  sleep 1
  processes=($(pgrep -afil "$1"))
  if [ ${#processes[@]} -eq 0 ]; then
    printf "%s\n" "No apps found"
    return 0
  else
    printf "%s\n" "${processes[@]}"
    printf "$red%s$normal" "Kill found apps (y or n)? "
    read -r answer
    if [ "$answer" = "y" ]; then
      printf "%s\n" "Killing found apps…"
      sleep 1
      for process in "${processes[@]}"; do
        echo $process | awk '{print $1}' | xargs sudo kill 2>&1 | grep -v "No such process"
      done
      printf "%s\n" "Done"
      return 0
    fi
  fi
}

paste above script into ~/.zshrc and then run source ~/.zshrc. Then you can just use commands like kill-apps adobe to kill all adobe related stuff.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment