Not using Tasker? Shame on you… Download your free trial here
The debate about whether or not to use an automatic task killer in Android is for another thread. The general consensus seems to be ‘don’t’, but regardless, we all have them in case of troublesome processes (even if you can long-press the back button) and therefore I’ve produced this tutorial to show you how to use Tasker to create one that you can configure how you wish, should you wish!
If nothing else, there’s a few good Tasker tips in here, that I’m sure will come in handy for your other profiles.
Let’s get on with it!
Preparation
For best practice, testing and understanding, you’ll need:
1) A Terminal Emulator
2) A Task Killer (!)
3) The Locale Execute Plug-in for Tasker (make sure this is installed prior to importing the profile)
4) A speech engine – Pico TTS for example.
The Short Winded Tutorial
It kills sh*t loads of processes.
Proceed to the download!
The Long Winded Tutorial
Import the profile and ‘un-tick’ it to make sure it is not active until you have edited it to suit your needs.
The trigger for this profile is time based and set up as standard to run every 30 minutes between the times you are likely to be using your phone. Be sure that the activation time does not match that of your AutoSync Profile that you may/should/could be using from here, or otherwise how often your standard email and widgets sync with their individual settings – you don’t want those processes being killed mid-sync.
In this profile, Tasker will use Linux commands via the Locale Execute Plug-in to kill processes you have specified. Let’s get familiar with them.
Open up the Terminal Emulator and type:
Code:
su
then:
Code:
ps
The current running processes will be listed. You’ll note that all applications you would want to kill are assigned a process ID (PID) and an application number app_** (listed under 'User'). The application process (process name) is listed at the end, such as com.android.google.browser.
A process can be killed using its corresponding PID. Try it with an application you see in the list (NOT A SYSTEM PROCESS!):
Code:
pkill 3456
Unfortunately, the PID changes and therefore is not a constant we can use to terminate applications. We therefore have to focus on the process name – bbc.iplayer.android for example.
Try killing an application by name (open it first, list the processes again to make sure it’s there and then see if it has gone afterwards by listing processes again):
Code:
pkill com.google.android.youtube
Sometimes a process is persistent and needs further encouragement (execution) to die:
Code:
pkill -9 com.facebook.katana
Sometimes a process refuses to die – this can be because there are other processes associated with it that are not killed by the above.
Code:
Killall -9 com.levelup.beautifulwidgets
That’s the process killing commands lesson complete and only leaves us with one small issue = What if you are using the process at the time? Obviously we don’t want the browser killed if you are in the middle of surfing, so we have to use a variable to make certain of this. The chosen built in variable is %LAPP, which is the last foreground application used. By making sure this isn’t killed, it’ll stop your current program being terminated in the middle of a message to someone! Therefore, each separate action to kill a process has an IF statement included to prevent the termination if that application is currently being used.
There are plenty of examples in the profile for you to use, but of course you’ll want to add your own entries in the KillProcesses task by:
+
Plugin
Execute
Edit
And then type (or even better paste):
@! pkill -9 and then the process name* (@! Stops the commands appearing on the screen)
Press the back button to save
Click IF
%LAPP
Click ‘~’ select ‘doesn’t match’
Enter the application name**.
Done
* The process name can be found and noted in the Terminal Emulator. Alternatively, often the process names are listed in the Task Manager you are already using.
** In the profile, there is a speech task, popup notification and a STOP task, these are there to discover the correct application name. Open the application you want to add to the list, long hold the home button and select Tasker and then press ‘test’. Tasker will say the name of the application and show how it is spelt on the screen. If the speech says ‘Launcher’, you may need to navigate back to Tasker (after opening the desired app) via the notification bar.
Copying all of the process names and completing the IF statements can be a little tedious, but when it’s done, it’s done… Test each new action to ensure the application is actually killed – just drag it above the STOP action. The Super User application may request permission first time (for each application command). Go to your current Task Manager, refresh it and check the application was terminated! If it wasn’t, try the ‘killall -9’ command detailed above. I have to use this for Beautiful Widgets and Titanium Backup as they are stubborn (and return again soon).
When you've completed your list, delete the pop-up, speech and stop actions and you're good to go.
Finally, it couldn’t be easier to create a widget for the home-screen to activate KillProcesses whenever you like. Hold down somewhere on the home-screen, select widgets. Select Tasker. Select Task. Select KillProcesses. Select your icon and hit ‘make widget’! Done!
There you have it! Your very own self created task murderer at the touch of a button!
Enjoy!
Shortfalls
You are unable to kill a troublesome process if it’s not in your task list!
Future Inclusions?
When setting this up, I had Locale write the process list to a text file. In theory it is possible to get Tasker to read this file, dissect it and therefore discover by the constant app_** which tasks are running and place the process name in a variable which then could be exported to Locale to kill (I think). This is waaay too much effort, but have a go if you want!
In addition, Tasker could compare the before and after (kill) process list and work out approximately how many applications it killed, displaying the number in a popup notification. Again, effort – go for your life!
At present a notification is displayed showing the last time it murdered something.
Please let me know if you have any sensible requests and your feedback is always welcome!
Installation Instructions
In menu options/profile data 'Import One Profile':
Task_Manager
The thanks meter lets me know I'm appreciated!
Feedback?!
There have been a few downloads of this now... but no comments!
Do I assume that it works absolutely fine? No errors or anything? If so, I'll stick it on the Tasker Wiki for educational purposes.
Wow! But how about use Locale AutoKill Plug-in ? It works for me with 2.2 Froyo. So much easier )
memberfive said:
Wow! But how about use Locale AutoKill Plug-in ? It works for me with 2.2 Froyo. So much easier )
Click to expand...
Click to collapse
For education purposes
Sent from my HTC Desire using XDA Premium App
brandall said:
For education purposes
Click to expand...
Click to collapse
Well. In this case, suggest another simple solution, without the use of additional fee applications.
1) Connect your phone via USB.
2) Do adb shell and then ps to remember the last lines.
3) On your phone start the unnecessary application, again execute ps
and see the process name (like android.process.media) after the last lines.
4) Add it to the killing list (say kill_list.txt): echo android.process.media>>/sdcard/kill_list.txt.
5) Repeat for all the unnecessary applications.
6) In the Locale Execute Plug-in is only one line: @! /system/xbin/cat /sdcard/kill_list.txt | /system/xbin/xargs -n1 /system/xbin/killall
memberfive said:
Well. In this case, suggest another simple solution, without the use of additional fee applications.
1) Connect your phone via USB.
2) Do adb shell and then ps to remember the last lines.
3) On your phone start the unnecessary application, again execute ps
and see the process name (like android.process.media) after the last lines.
4) Add it to the killing list (say kill_list.txt): echo android.process.media>>/sdcard/kill_list.txt.
5) Repeat for all the unnecessary applications.
6) In the Locale Execute Plug-in is only one line: @! /system/xbin/cat /sdcard/kill_list.txt | /system/xbin/xargs -n1 /system/xbin/killall
Click to expand...
Click to collapse
Do you mean 'fee' applications? It only uses locale which is free??
I originally messed with the idea of using a list like this, but the problem is, you can't pass the %LAPP variable in this way. I had Tasker/locale writing the original .txt file from ps output and getting Tasker to try and 'read line/find' the associated %LAPP process in order to exclude it from the list prior to the xargs command being executed... but it became more complicated than just listing IF actions individually as I was going to have to list them anyway!
Hope that made sense? If you can think of a betterway to exclude the foreground process and then use a single command in this way, please do let me know!
Sent from my HTC Desire using XDA Premium App
brandall said:
Do you mean 'fee' applications? It only uses locale which is free??
I originally messed with the idea of using a list like this, but the problem is, you can't pass the %LAPP variable in this way. I had Tasker/locale writing the original .txt file from ps output and getting Tasker to try and 'read line/find' the associated %LAPP process in order to exclude it from the list prior to the xargs command being executed... but it became more complicated than just listing IF actions individually as I was going to have to list them anyway!
Hope that made sense? If you can think of a betterway to exclude the foreground process and then use a single command in this way, please do let me know!
Sent from my HTC Desire using XDA Premium App
Click to expand...
Click to collapse
I mean, this solution is just for the Tasker with free Locale Execute Plug-in !
I think that any attempt to pass variables in Tasker and process them would increase the CPU load and reduce performance. It seems to me that there is no difference as to kill the process. And everything works (killed) fine with a single command.
memberfive said:
I mean, this solution is just for the Tasker with free Locale Execute Plug-in !
Click to expand...
Click to collapse
Thought so!
I think that any attempt to pass variables in Tasker and process them would increase the CPU load and reduce performance.
Click to expand...
Click to collapse
Agreed - It was becoming more complicated than an actual Task Killer!
It seems to me that there is no difference as to kill the process. And everything works (killed) fine with a single command.
Click to expand...
Click to collapse
Only problem is with it killing the current application you are using....... Need a solution to prevent that....
Ok, been browsing the web and found these nice profiles, which can trigger an app (Fast Reboot - which acts like a virtual reboot, closing all apps). What do you think about it Brandall? Could it be tweaked even more to get a nice profile using this app? Thanks.
Published by James.
Display- Battery Saver
The initial idea came from some members on the LG2X MoDaCo Forum. The problem at the time was various applications were misbehaving and not stopping when the phone should have been going into its sleep mode. One member suggested using Fast Reboot to ‘reset’ the phone into a state where it can enter sleep mode.
The context:
Event: Display Off
The task:
Wait [ Seconds:11 ]
Stop If [ %SCREEN ~ ON ]
Load App [ App:Fast Reboot Data: Exclude From Recent Apps:On]
The wait is to allow my phone to lock (10 seconds after screen off) then if the phone has been used again the second part should cancel the task #this has limited success if you know a better way to about a task please get in touch!#. Fast reboot unlike many task managers closes and restarts your tasks so your alarms and other app keep working.
Further Improvements
I have added two more complimentary profiles to control when the above profile can run.
Profile: Display- Phone Idle
Event: Phone Idle
Task: Profile Status [ Nameisplay- Battery Saver Set:On]
and
Profile: Display- Phone Offhook
Event: Phone Offhook
Task: Profile Status [ Nameisplay- Battery Saver Set:Off]
These stop the Display- Battery Saver profile from running when the phone is in use. Again, they may not been the most effective solution but they work.
Click to expand...
Click to collapse
mi3x said:
Ok, been browsing the web and found these nice profiles, which can trigger an app (Fast Reboot - which acts like a virtual reboot, closing all apps). What do you think about it Brandall? Could it be tweaked even more to get a nice profile using this app? Thanks.
Published by James.
Click to expand...
Click to collapse
I'd say this is a little excessive... Using a hot/fast reboot as it is known is not addressing the actually issue of misbehaving applications...
For Tasker users, this can be done using Deep Sleep Detective - for other users, this can be done with Better Battery Stats.
Hot/Fast reboot resets the system without rebooting the kernel and is only really necessary when system changes such as remapping hardware keys need to be applied without the need for a full and time-consuming reboot...
Best to track down a problem and resolve it rather and kill everything which this solution does... If a rouge application or process starts at screen-off, then this will happen eventually/immediately after a reboot, so again, a little drastic for short term 'relief'.
The hot reboot is used in my Tasker media mapping profiles though!
I want to kill the backup service that saves data from apps in the cloud and start the service later (when charging) again.
I think it is android alarms: act=android.app.backup.intent.RUN isn't it?
How can I do that?
Thanks in advance!
MaluNoPeleke said:
I want to kill the backup service that saves data from apps in the cloud and start the service later (when charging) again.
I think it is android alarms: act=android.app.backup.intent.RUN isn't it?
How can I do that?
Thanks in advance!
Click to expand...
Click to collapse
This is entirely possible in theory, however killing the service once does not guarantee that it will not start again and again when it feels like it... There is no monitor within Tasker to alert you when it starts...
If there was....
Sent from my Sensation using xda premium
So could you help me with that for the backup service? Or enable/disable toggle?
Thanks.
brandall, I need some help here, please help me out.
I want the following thing:
Everytime I turn internet (easy) some apps services would be launched, like viber/whatsapp/facebook/gmail runing in background as they already do, and when I turn off the internet, I want to kill those process and services...
how can I do that?
pkill -9 and kill-9 arent killing com.whatsapp for example.
MaluNoPeleke said:
So could you help me with that for the backup service? Or enable/disable toggle?
Thanks.
Click to expand...
Click to collapse
Sorry, I didn't see your reply. It's not possible unless the process is obvious when you type 'ps' in the terminal - you can try manually killing it then and see if it comes back. Let me know if you find it and I'll talk you through how to kick off the intent with Tasker.
Sent from my HTC Sensation XE with Beats Audio using xda premium
brunoshady said:
brandall, I need some help here, please help me out.
I want the following thing:
Everytime I turn internet (easy) some apps services would be launched, like viber/whatsapp/facebook/gmail runing in background as they already do, and when I turn off the internet, I want to kill those process and services...
how can I do that?
pkill -9 and kill-9 arent killing com.whatsapp for example.
Click to expand...
Click to collapse
Hi, don't forget that Android is supposed to handle these processes so they don't use any cpu and remain dormant, however, I understand that sometimes it just feels better if they are not there... (although others would tell you that killing apps may make your device under-perform!)
Anyway, killall -9 com.whatsapp will kill the process, but testing it on my device, it restarted almost instantly.
I have the application system tuner pro by 3c an amazing app and under the apps tab there is a 'startup' option for applications which I assumed referred to at boot - I just unticked whatsapp in there, killed the process and then it didn't restart... Maybe a coincidence, but worth a try...
I've no idea what different events in Android cause these apps to decide to come to life...
Hope that helped!?
Sent from my HTC Sensation XE with Beats Audio using xda premium
brandall said:
Hi, don't forget that Android is supposed to handle these processes so they don't use any cpu and remain dormant, however, I understand that sometimes it just feels better if they are not there... (although others would tell you that killing apps may make your device under-perform!)
Anyway, killall -9 com.whatsapp will kill the process, but testing it on my device, it restarted almost instantly.
I have the application system tuner pro by 3c an amazing app and under the apps tab there is a 'startup' option for applications which I assumed referred to at boot - I just unticked whatsapp in there, killed the process and then it didn't restart... Maybe a coincidence, but worth a try...
I've no idea what different events in Android cause these apps to decide to come to life...
Hope that helped!?
Sent from my HTC Sensation XE with Beats Audio using xda premium
Click to expand...
Click to collapse
they may not use cpu but for sure they use battery =/
brunoshady said:
they may not use cpu but for sure they use battery =/
Click to expand...
Click to collapse
It's not my understanding, but I have been wrong before
Did what I suggested stop it restarting??
kill service
I would like to kill a service using this method
I can find the service I want in android service list, it's called "RTService"
How can I find the text to put before "pkill" ?
In terminal emulator and "ps", I didn't find anything related to this and of course "pkill RTService" does nothing ^^
Thanks!
Hi!
I have tried various task managers from play store. They all show either nothing or just few app. Mostly they dont even display stuff that is running such as Firefox.
Sofar the only task manager that works for me is:
Code:
su -
top
But the problem is that it my phone has so many processes working that they dont all fit in one screen, and since top command is constantly updating, it scrolls back down. So I have to Ctrl - C to interrupt and then write kill -9 pid which is a bit annoying.
Is there any simple task manager out there that is graphical version of top command and that shows me absolutely everything, not only stuff that is currently active? To me it's important to see cpu usage next to pid.
sysctl said:
Hi!
I have tried various task managers from play store. They all show either nothing or just few app. Mostly they dont even display stuff that is running such as Firefox.
Sofar the only task manager that works for me is:
Code:
su -
top
But the problem is that it my phone has so many processes working that they dont all fit in one screen, and since top command is constantly updating, it scrolls back down. So I have to Ctrl - C to interrupt and then write kill -9 pid which is a bit annoying.
Is there any simple task manager out there that is graphical version of top command and that shows me absolutely everything, not only stuff that is currently active? To me it's important to see cpu usage next to pid.
Click to expand...
Click to collapse
No, task managers are crap, the native task killer that android has built in works fine. 3rd party task killers actually make the device work harder because they constantly reload the tasks that you kill.
Best option is root your device then uninstall unnecessary system apps, and use Greenify to freeze your other apps when they aren't in use.
All task managers, RAM savers, optimizers and battery savers are all junk, they actually do the opposite of what you think they do.
I DO NOT PROVIDE HELP IN PM, KEEP IT IN THE THREADS WHERE EVERYONE CAN SHARE
Dunno how with Android, but actually the 'top' command can be configurated to di what you want. Just read the top man page.
Sent from this galaxy
Clean Master is a good one. I got it mainly for it's ability to clear junk files, but the ram boosting ability is handy as well every now and then. It also has a mode that let's you launch games in "boosted" mode, which I think is just a clearing a ram when launching the game. Not sure if it maintains that or just just does a task kill at launch. Killed apps can often just restart soon after. Incidentally, I do that a lot for Iron Man 3.
ABSarah said:
Clean Master is a good one. I got it mainly for it's ability to clear junk files, but the ram boosting ability is handy as well every now and then. It also has a mode that let's you launch games in "boosted" mode, which I think is just a clearing a ram when launching the game. Not sure if it maintains that or just just does a task kill at launch. Killed apps can often just restart soon after. Incidentally, I do that a lot for Iron Man 3.
Click to expand...
Click to collapse
No, Cleanmaster is not a good one, none of the task killer/RAM optimizer apps are "good" they are actually counterproductive and make your device work harder in the long run.
Sent from my LGL84VL using Tapatalk
Instead of using a task manager that will probably not work, try Kernel Adiutor and try setting the Low Memory Killer to your wishes, following this guide.
I stumbled across com.huawei.iaware thing when I was reading logcat on my Huawei device. As we all know, Huawei implemented their own very aggressive memory management on top of Android,and thus messing up multitasking experience. Even disabling Automatic Launch doesn't help, as background tasks are almost always killed. On my 2GB ram device, multitasking between only 2 apps has been a nightmare.
As seen on logcat, Iaware seems to mimic Android's Low Memory Killer but in the most aggressive way imaginable. This guide can also improve performance and battery (a little bit) as killing apps repeatedly is expensive
To disable com.huawei.iaware without root, assuming you have installed and setup adb, just run
Code:
adb shell pm uninstall -k --user 0 com.huawei.iaware
Note that doing the above command will not actually delete the app in any way and you can still receive Ota updates, but the only way to restore that app is by factory reseting your device
To disable com.huawei.iaware with root, just install Link2sd or any similar app you could think of that can disable system apps. Find com.huawei.iaware and disable it.
Mods, can you move this thread to Hacking and Development - > Android General? Thanks
Hi! I've seen some threads regarding how bad memory management is on this device and I think I've found the culprit. I went to 'Low Memory Killer' tab on kernel adiutor and disable the 'Adaptive Low Memory Killer' and the apps stay on background even with multiple apps open at the same time! Unfortunately it seems to be impossible to do this without root but, for those with it, definately try this to see the results!
Eddie_53 said:
Hi! I've seen some threads regarding how bad memory management is on this device and I think I've found the culprit. I went to 'Low Memory Killer' tab on kernel adiutor and disable the 'Adaptive Low Memory Killer' and the apps stay on background even with multiple apps open at the same time! Unfortunately it seems to be impossible to do this without root but, for those with it, definately try this to see the results!
Click to expand...
Click to collapse
App is not more available on play store, i will try with hebf optimizer to see if i can change
Thanks man! Works really well
You are a legend
It works really good
Testing the way to do not use any third party apps for ®termux users! Script must be executed every boot!
Making bash files to easy run on boot:
Code:
echo 0 > enable_adaptive_lmk
echo "sudo cp enable_adaptive_lmk /sys/module/lowmemorykiller/parameters/" > boot
Running on each boot:
Code:
bash boot
Working!
This was built using Tasker but I'll share the extracted APK from App Factory below so it can be used without Tasker.
This is similar to ADB App Control for PC in its functioning. It has several executable commands that can be performed on applications in batches. Current commands are: Install, Enable, Disable, Uninstall, Uninstall Updates, and Reinstall. Requires ADB WiFi access to use. ROOT NOT REQUIRED. Can perform all commands on system applications.
In a nutshell, it makes debloating and re-bloating automated and quick. Can filter applications to show: System, User, Enable, Disabled, and Uninstalled. Also can combine filters and color code applications by their current state. Recently added the ability to save custom lists for quick recall of certain applications.
No experience with ADB necessary.
If you're not sure what uninstalling or disabling system applications can do to your device, you should probably not use this. I take no responsibility for any software issues that occur as a result from using this tool.
TaskerNet Task Import: CLICK HERE
Direct APK for use without Tasker below