Greetings, everybody!
If you've jailbroken your device and are considered about your memory usage, want faster boot up or respring times or simply want to free some RAM, this might be the solution for you, launch daemon removal.
What are launch daemons?
Launch daemons are system processes which start up every time your device is booted, even if you do not use the features they offer. For instance, the assistive touch daemon is always running in the background consuming RAM, whether the feature is enabled or not.
So, how can I remove these, you ask. Well, here you go!
You need:
1. A jailbroken iDevice, of course.
2. Just to be certain, iOS7.1.1/7.1.2.
3. OpenSSH installed from Cydia: go to the search tab and type OpenSSSH, choose the first one, double tap on Install, double tap on Confirm, reboot your device when asked.
4. Afc2add for iOS7.1x to allow root folder and SSH access. You can get this tweak from many repos, I myself used cydia.iphonecake.com. This one needs a reboot as well, so do so when asked after installation.
5. A working Wi-Fi connection.
6. A program to browse the contents of your iDevice via SSH. I recommend FileZilla since it's really accessible and not based on a terminal.
7. The SSHConnect tweak: Just type SSHConnect on Cydia search or go to Sources tab, choose BigBoss, Tweaks then SSHConnect. This tweak adds the SSH viewer to your settings between Wi-Fi and Bluetooth.
Now that we are all set up, let's get straight to the point.
How to Remove Launch Daemons (I assume you have FileZilla):
1. After rebooting your device after installing all the needed tweaks, connect to a Wi-Fi network.
2. Important! Connect to the same Wi-Fi network with your computer as well. If you are not in the same network with yor iDevice, you cannot establish an SSH connection to its local IP (see below).
3. Open SSH from iDevice Settings and go to the last available item there. It should be pdp_ip0, after which you see some numbers. In my case, the IP would be 10.61.169.218. The IP after pdp_ip0 is your iDevice's IP which you wil need, so save it or memorize it.
4. Open FileZilla and connect to the IP of your iDevice. In my case, I type 10.61.169.218 to the host edit field, then pres tab to get to the username box. There, type root. Press tab to get to the password box and there type alpine. Tab again and in the port edit field, type 22. Press tab and press on Quick Connect button. FileZilla will warn you that the host key is unknown. Check the checkbox Always trust this Host Key and press OK. You should now be connected to your iDevice, press tab twice to get to the edit read only box where the information is displayed. The last one there should be Directory listing successfull.
5. Press tab six times to get inside the contents of your root folder. There, press backspace twice or three times to get to the main folder of your iDevice. There should be a folder called system. Enter it.
6. Once in the system folder, press L until you reach library. Enter this folder and press L again to get to the LaunchDaemons folder. Enter it too.
7. Now, you see a huge list of .plist files in the folder. To make sure you can enable any of these in the future if wanted, do not remove any! Just add .cbkup at the end of the following .plist files:
com.apple.appsupport.cplogd.plist
com.apple.aslmanager.plist
com.apple.certui.relay.plist
com.apple.crash_mover.plist
com.apple.CrashHousekeeping.plist
com.apple.DumpPanic.plist
com.apple.mobile.softwareupdated.plist
com.apple.OTACrashCopier.plist
com.apple.OTATaskingAgent.plist
com.apple.powerlog.plist
com.apple.ReportCrash.DirectoryService.plist
com.apple.ReportCrash.Jetsam.plist
com.apple.ReportCrash.plist
com.apple.ReportCrash.SafetyNet.plist
com.apple.ReportCrash.StackShot.plist
com.apple.sharktrace.plist
com.apple.syslogd.plist
There is one reportCrash daemon we do not disable because any packages dependant on RocketBootStrap need it. If you are not planning to use these packages, including Activator, you can add .cbkup at the end of com.apple.ReportCrash.SimulateCrash.plist. I didn't disable this, however.
There are also a few daemons you can disable if you do not think that you'll use their features. Remember you can enable them again by removing the .cbkup from the end of the file. You can add .cbkup to any of the following if not needed:
com.apple.assistivetouch.plist - Used with assistive touch. If you do not use this feature, you can disable this daemon.
com.apple.dataaccess.dataaccessd.plist - deals with syncing contacts via Exchange, iCloud or Google Sync. Disable this if you don't use those services. (This will NOT disable Push notifications from Google Voice's app,
only the push mail service.)
com.apple.wifi.wapic.plist - This daemon is responsible for logging errors when trying to connect to a WiFi network with Chinese characters in the name. If you don't live in China, you don't need it.
com.apple.racoon.plist - this daemon is used for using Virtual Private Networks. If you don't use VPN at all, then this daemon is irrelevant to you.
com.apple.gamed.plist - If you don't use GameCenter at all or don't care about it, disable it.
com.apple.daily.plist - Used to check for automatic updates from the AppStore. If you like for your device to check for automatic updates, don't disable!
com.apple.mobile.obliteration.plist - If your sure that your never going to click the restore all in settings.app, or remotely wipe your device because your phone was stolen, then this daemon is irrelevant.
com.apple.itunescloudd.plist - Responsible for iTunes in the cloud/home sharing. If you dont use these features, then this daemon is irrelevant and therefore you can disable it.
com.apple.biometrickitd.plist - This daemon is responsible for performing the touch id scan on the home button for iPhone 5S specifically. If you see this daemon on any other device, delete it, yes, delete, not disable, because the touch scan id hardware is only found on the 5S exclusively. If you have no interest in using the touch id scan on your iPhone 5S, then disable this daemon.
8. All done! You have successfully removed tonnes of irrelevant system processes! Now close FileZilla, toggle the SSH from Settings to Off, and reboot. Enjoy the faster reboot, respring and usage in all!
I have personally tested the method on iPhone 5, iPhone 5S, and iPhone 5C and can confirm that it is fully safe. If you have any questions, comments or concerns, I am more than willing to help!
Hopefully you find this tutorial useful!
Cheers,
Con
Comments
no computer
Hi. I am not very good with the computer but I am good with iOS. So I am wondering is there a way to do this just on iOS with no computer maybe with iFile or something? Thank you.
Great tutorial, but there's an easier way to do this.
Hello everybody. Although this is a wonderfully written tutorial, there is a much simpler way to get rid of launch demons using just your eye device. Simply download iCleaner Pro from the exile90 software Repo. When you open the application, there are three unlabeled tabs along the bottom. I don't remember which tab it is exactly so you'll have to check each tab, but one of the tabs allows you to configure the launch demons as you see fit. Hope this helps. :-)
True that
Yup, that is true, but I wanted to create this just in case somebody is, like me, a person who loves to look at what the device and file systems really contains, rather than doing it with an app where you can't see what it really does.
iCleaner will not do them all.
Hi. I have used iCleaner before and have noticed that not all the launch demons that are listed in the tutorial are listed in iCleaner. So iCleaner will only help you remove some of the demons. Is there another way to do this just with the iOS device and no computer? Thank you.
Try iFile
You can try iFile but remember to install Afc2Add iOS7.1x first to get root access.
Cheers,
Con
more about iCleaner
Hi. I just looked at iCleaner and it seems I was wrong. iCleaner does list all but 1 of the launch demons listed in the tutorial as well as some that were not listed. For example, there is one you can turn off if you do not use air print. I was not able to find the com.apple.daily one, but that's ok for me anyhow, because I do use the auto app store updates. I disabled the launch demons I did not need on my iPhone 4s and iPod 5 and rebooted a few times and have not noticed my devices rebooting any faster. They also do not seem any faster when I use them.
That is weird
That is weird, they should. Maybe you should try disabling them with the method described in the tutorial but use iFile instead of a comp? That is why I disabled them by hand in the first place, iCleaner didn't work for meas it should've.
Where do I go?
Hi. What folder are the .plist files in on iFile? Also, how do I edit the names of the files in iFile. I have used iFile for zipping and unzipping files, coppying files and deleting and adding files but I have never used it for renaming files.
The folder and stuff
Ok, the folder is:
/system/library/LaunchDaemons/
You can copy the whole folder to a new place if you want and delete the files you want to remove from the original one instead of renaming if it is too complicated.
Cheers,
Con
A few more to add
Greetings all!
Here are a few more to consider removing/disabling if not needed. Remember that if disabling with computer, you need to add .cbkup at the end of the files. If using iFile, be sure to copy the LaunchDaemons folder to somewhere else in your system so you can easily add them back if you need some in the future!
Here are the files and escriptions:
com.apple.assistivetouchd.plist - The assistive touch daemon. Disable this if you do not use assistive touch.
com.apple.awdd.plist - Removing this daemon has no harmful effects on one's device, however I do not know what it is used for.
com.apple.coresymbolicationd.plist - This daemon takes care of something connected to the Chinese characters. You can disable it in any case, since such an action causes no harm to your device.
com.apple.passd.plist - This daemon deals with PassBook features. If you do not use PassBook, you can disable this.
com.apple.vibrationmanagerd.plist - This daemon deals with custom vibrations. Disable this if you are not using and/or planning to use those in the future.
Hope this helps!
Cheers,
Con
Right, found a few more!
I found the following while playing with my device:
com.apple.powerd.plist - Removing this increases speed significantly since your iDevice processor is no longer limited to certain speeds!
com.apple.printd.plist - Is the AirPrint launch daemon.
com.apple.storage_mounter.plist - This daemon might not be in all the devices, but what it does it allows you to use the so called "iPad Camera Connection Kit". Disable if you don't use that.
Cheers,
Con
folder
Thank you for the idea of coppying folders. That gave me another idea. I have a braille note apex and I do know how to rename files on that. So I can zip up the file, open the zip file in the dropbox app to save it in dropbox, then download it to my apex, unzip it, change the file names so they end in .cbkup and then zip the folder up again, put it back in dropbox and delete the old folder from my iOS devices and replace it with the new one from dropbox buy unzipping it in the correct location. Thank you.
Any time
You're welcome!
An important note
Just to remind you all, please back up your iDevice before disabling any daemons! If you follow my tutorial you do it at your own risk, and it's always best to have a back up. Something that works for my iDevice might not work for yours, and in the unfortunate case of your device ending up in a boot loop, you at least have something to restore it from.
Thanks and have a good day!
Con
.cbkup
Hi. What does .cbkup mean anyhow?
Hey there
I just chose it as the extension, the trick is to make the file unreadable by the iOS.
Oh and...
Note for iPhone 4S or iPhone 5 users: Please do not remove the powerd.plist daemon. Instead, install the tweak called FakeClockUp from Cydia.
FakeClockUp
Hi.
I installed FakeClockUp on my iPhone 5s and it didn't seem to change anything, at least not anything from my perspective as a voiceover user.
Is it safe to remove the powerd.plist file from my iPhone?
I'm using the iPhone 5s.
What exactly will happen if I remove this launchdemon.
Will see any noticeable voiceover or device speed improvements?
Definitions of the Launch daemons
Hi Con,
are you a programmer or a Software Engineer? It seems to me that you have some sort of programming background knowledge. The reason I ask that is I want to get the descriptions of these daemons.
For me these daemons are too technical for me to understand, so maybe you can direct me somewhere that will explain these technical terms to plain English words.
As some of the comments here have mentioned, iCleaner can disable some of these daemons. I was wondering why Exile90, the creator of iCleaner, did not include those things you have mentioned on the post. Don't you think there are some negative impact on the functionality of the device?
Don't get me wrong. I absolutely agree with you that disabling some features that is not useful for a normal user should be disabled on the device to dedicate more resource to the features which is more useful, especially for us Voice Over users.
So please may you enlighten me? so I could form my own decision, which of these are I'm willing to give up for the sake of better performance.
Root Access with Afc2Add ?
Why do you need Afc2Add to have root access to your file system?
iFile by itself can access all the files of your iOS system files, whether it is a root or mobile files.
Oh, I appologize
I appologize. I meant access of the system folder. At least you need it if you use the method I did.
Hey Musicruz
Greetings!
These daemons are, simply put, background processes that you cannot kill. Think of Windows Task Manager as an example. There you can't kill some processes on the processes tab either, and if you do, the system shuts down. They are always running as mentioned before, so the only way to really free up memory and let the relevant services use it is to disable these altogether.
I appologize for not describing the first daemons I listed in the first post. I'll do it now, as well as add a few I discovered today.
The appsupport daemon is used to log basically anything related to your application usage. In other words, application logs that are irrelevant to you if you do not want to, or do not have the knowledge to, view them to see what causes what.
Another irrelevant might be this:
com.apple.AdminLite.plist - Automatically quits unresponsive apps. If you'd rather wait for your apps to finish what they're doing instead of going into shutdown mode in the background, disable this.
com.apple.aslmanager.plist is the Apple System Logging daemon, meaning that it writes and reads the system logs, and these logs, believe me, do consume quite a bit of disc space!
com.apple.sharingd.plist starts and keeps AirDrop in the background (even when not enabled). You can disable if you don't use AirDrop.
com.apple.certui.relay.plist deals with profile certificates. Disable if you don't think you'll ever use such things.
com.apple.CrashHousekeeping.plist manages crash logs.
com.apple.mobile.softwareupdated.plist is the loader of OTA Software Update services. As you are jailbroken, you can't OTA update anyway, so feel free to disable.
com.apple.OTATaskingAgent.plist is responsible for actually looking for and installing the OTA updates. Jailbroken users don't need this.
com.apple.OTACrashCopier.plist copies the possible OTA crashes to system logs. Disable this since you can't use OTA.
com.apple.Springboard.SetupHelper.plist is responsible for the Device SetUp when powered on for the first time.
The different ReportCrash daemons listed report any kind of crashes to Apple, and are loaded even when your diagnostic sending is disabled.
com.apple.syslogd.plist is responsible for system log handling when booting up.
com.apple.powerd.plist can be removed from any other device than iPhone 4S or iPhone 5, speeds up your processor by returning it to its real CPU glory! Note: I am looking for a way to do this on the two iPhones, since FakeClockUp is fake as the name says, it doesn't really do the job. Back to business:
com.apple.chud.chum.plist
com.apple.sharktrace.plist
com.apple.chud.pilotfish.plist
These three are only used by Apple Developers for the device to understand developing hardware, so if you are not a developer, ffeel free to disable.
com.apple.searchd.plist
com.apple.search.appindexer.plist
The two above are used with Spotlight. If you don't use Spotlight, disable these.
com.apple.AOSNotification.plist - This daemon deals with iCloud
syncing. If you do not use iCloud syncing, you can safely disable this.
com.apple.DumpBasebandCrash.plist is a crash dumper, meaning that it writes crashing events to the logs.
I also found out by looking at the com.apple.awdd.plist that it is used for the device to work with the CDevCrashReporter software. Disable if you don't know what CDevCrashReporter is or do not use it.
As an answer to your question, Musicruz, I am a self-taught programmer and app/game developer.
Have a great day everybody!
Con
P.S. Feel free to send me mail via my personal page if you need further assistance!
Right, an update
You can remove the powerd.plist daemon from iPhone 4S and iPhone 5, however, please note that the next time you reboot, you will have to randomly tap on the screen until it says VoiceOver on. This is because for the first time of reboot it is trying to look for the powerd.plist. The tap which lets it continue system boot up confirms that you do not want to use this daemon in the future.
Please tell me if you cannot boot up successfully with this trik after disabling the powerd.plist daemon.
Cheers,
Con
Hi Cris
Hello Chris!
You can remove FakeClockUp and also the powerd.plist daemon from your iPhone 5S. What exactly happens with the powerd.plist daemon removal is that it restores the real CPU speeds. Believe it or not, iDevices are underclocked! So the removal of this daemon gives you a significant speed boost.
You also might end up having to tap randomly on the screen until VoiceOver starts when rebooting after the removal, as described in my previous post.
Cheers,
Con
powerd.plist
Hi.
I will have to disable this one and see what happens.
I think I've been disabling demons though I'm not sure.
I just took the .plist at the end and replaced it with .cbkup like you said in your posts.
I have not been noticing any major speed improvements, though I'm not sure what should be faster since navigating with Voiceover seems to be about the same.
Hello
Greetings!
The speed improvements are mainly to the system itself, not VoiceOver navigation, although the powerd.plist disabling will greatly boost up application launching, closing, and even page loading on Safari. I am actively working on a modification that, when complete, will speed up VoiceOver navigation. I'll post the progress as it goes.
Cheers,
Con
Some more information
Hello!
If you disabled powerlog.plist, you can also completely remove the folder /system/library/PowerlogPlugins/, since the whole process is no longer there.
Cheers,
Con
Iphone 4 User
Thanks for the write up. I have been doing these hacks for awhile now. Since I updated my iPhone 4 to ios7 from 6 finally, I need to speed things up. Everything is just slow. I would stay on ios6, but most apps will only install if running ios7.
Warning to any iPhone 4 users. Don't delete the 'powerd.plist' file. The native mail.app will not run on startup and crashes.
To author. I am not sure what are the new changes between 6 and 7. I have a script to delete all language packs except English. Although I haven't run the script incase it doesn't work or cause the iphone to not run. Do you know of this script or have one on hand so I can check if it has change? I've tried searching for iphone 4 language pack and ios7, but nothing comes up close. It seems noone is doing this any longer or has upgraded their iphone to 5.
iphone 4 power.plist
I've just removed the "power.plist" in my iphone 4 under iOS 7.1.2 and the mail app works as normal, but the device speed has improved significantly, but its true, the mail app crashes.
I allways delete languages and dictionaries with icleaner.
I was wondering if it is a launch daemon to disable the voice over.
cheers from Ecuador!
iOS 8 and iOS8.1 - Launch Daemon Updates
Greetings, everybody!
I am back in the programming scenes after a long break, and I have news for iOS8 and 8.1 jailbroken users!
The LaunchDaemons directory has been moved by Apple. If you go to
/system/library/LaunchDaemons/
you will notice that it has only the jailbreak daemons, such as Pangu, inside.
The new folder for the system processes is:
/library/LaunchDaemons/
I am more than happy to answer all your questions and concerns regarding this matter.
Cheers,
Con