I have the intercom from Cardo Systems, and it is really good
BUT when I updated the firmware some time agoe, it decided to install some software that takes port 8080, which is one of those really common ports used by a lot of applications out there. So it really becomes a problem…
Now I figured this out after using lsof
1 2 3 4 |
Tobiass-MacBook-Pro-2:~ tobias$ sudo lsof -i tcp:8080 Password: COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME cardo-upd 107 root 6u IPv4 0xa6a0fdd48cbb4495 0t0 TCP localhost:http-alt (LISTEN) |
Then I got the PID, so now I could do a ps -ef, to figure out WHICH parent process started it.
1 2 |
Tobiass-MacBook-Pro-2:~ tobias$ ps -ef | grep 107 0 107 1 0 Sat09PM ?? 16:56.45 /usr/local/cardo-updater |
Ohh PPID = 1 🙂 That is the launchd-process
1 2 3 |
Tobiass-MacBook-Pro-2:~ tobias$ ps -ef | head UID PID PPID C STIME TTY TIME CMD 0 1 0 0 Sat09PM ?? 5:09.23 /sbin/launchd |
OK so now we know it is the launchd process.
So first just find it in launchd
1 2 |
Tobiass-MacBook-Pro-2:~ tobias$ sudo launchctl list | grep cardo 20177 0 cardo-updater |
Now in order to unload it we need to find the path to the plist file
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 |
Tobiass-MacBook-Pro-2:~ tobias$ sudo launchctl procinfo 20724 program path = /usr/local/cardo-updater mach info = { task-kernel port = 0xb03 (unknown) task-host port = 0xc03 (host) task-name port = 0xf03 (unknown) task-bootstrap port = 0xf07 (unknown) task-seatbelt port = 0x0 (unknown) task-access port = 0xf0b (unknown) task-debug control port = 0xf0f (unknown) } argument count = 1 argument vector = { [0] = /usr/local/cardo-updater } environment vector = { PATH => /usr/bin:/bin:/usr/sbin:/sbin XPC_SERVICE_NAME => cardo-updater XPC_FLAGS => 0x1 } bsd proc info = { pid = 20724 unique pid = 20724 ppid = 1 pgid = 20724 status = stopped flags = session leader uid = 0 svuid = 0 ruid = 0 gid = 0 svgid = 0 ruid = 0 comm name = cardo-updater long name = cardo-updater controlling tty devnode = 0xffffffff controlling tty pgid = 0 } audit info session id = 100000 uid = 4294967295 success mask = 0x0 failure mask = 0x0 flags = is_initial sandboxed = no container = (no container) responsible pid = 20724 responsible unique pid = 20724 responsible path = /usr/local/cardo-updater pressured exit info = { dirty state tracked = 0 dirty = 0 pressured-exit capable = 0 } jetsam priority = 3: background jetsam memory limit = -1 jetsam state = (normal memory state) entitlements = (no entitlements) code signing info = valid platform dyld cardo-updater = { active count = 1 path = /Library/LaunchDaemons/com.cardosystems.cardo-updater.plist state = running program = /usr/local/cardo-updater arguments = { /usr/local/cardo-updater } default environment = { PATH => /usr/bin:/bin:/usr/sbin:/sbin } environment = { XPC_SERVICE_NAME => cardo-updater } domain = com.apple.xpc.launchd.domain.system minimum runtime = 10 exit timeout = 5 runs = 4 successive crashes = 0 excessive crashing = 0 pid = 20724 immediate reason = inefficient forks = 0 execs = 1 trampolined = 1 started suspended = 0 proxy started suspended = 0 last exit code = 0 event triggers = { } endpoints = { } dynamic endpoints = { } pid-local endpoints = { } instance-specific endpoints = { } event channels = { } sockets = { } spawn type = daemon spawn role = (null) jetsam priority = 3 jetsam memory limit (active) = (unlimited) jetsam memory limit (inactive) = (unlimited) jetsamproperties category = daemon cpumon = default properties = { partial import = 1 launchd bundle = 0 xpc bundle = 0 keepalive = 1 runatload = 0 dirty at shutdown = 0 low priority i/o = 0 low priority background i/o = 0 legacy timer behavior = 0 exception handler = 0 multiple instances = 0 supports transactions = 0 supports pressured exit = 0 enter kdp before kill = 0 wait for debugger = 0 app = 0 system app = 0 creates session = 0 inetd-compatible = 0 inetd listener = 0 abandon process group = 0 one-shot = 0 requires reap = 0 event monitor = 0 penalty box = 0 pended non-demand spawn = 0 role account = 0 launch only once = 0 system support = 0 app-like = 0 inferred program = 1 joins gui session = 0 joins host session = 0 parameterized sandbox = 0 resolve program = 0 abandon coalition = 0 extension = 0 nano allocator = 0 no initgroups = 0 start on fs mount = 0 endpoints initialized = 1 disallow all lookups = 0 system service = 0 } } |
As you can see above the plist file is :
path = /Library/LaunchDaemons/com.cardosystems.cardo-updater.plist
Allright, so now we can unload it
1 |
Tobiass-MacBook-Pro-2:~ tobias$ sudo launchctl unload /Library/LaunchDaemons/com.cardosystems.cardo-updater.plist |
And that is it !
-Tobias