From the shell of your rooted android phone run:
Currently running services:
activity.services
-------------------------------------------------------------------------------
DUMP OF SERVICE activity.services:
Services in Current Activity Manager State:
Active services:
* ServiceRecord{43a3dca0 com.android.inputmethod.latin/.LatinIME}
intent={act=android.view.InputMethod cmp=com.android.inputmethod.latin/.LatinIME}
packageName=com.android.inputmethod.latin
processName=com.android.inputmethod.latin
permission=android.permission.BIND_INPUT_METHOD
baseDir=/system/app/LatinIME.apk/system/app/LatinIME.apk dataDir=/data/data/com.android.inputmethod.latin
app=ProcessRecord{43a3e670 660:com.android.inputmethod.latin/10002}
isForeground=false lastActivity=-296633
startRequested=false startId=0 executeNesting=0 executingStart=-296565 crashCount=0
totalRestartCount=0 restartCount=0 restartDelay=0 restartTime=-296633 nextRestartTime=-329523
* IntentBindRecord{43a3e110}:
intent={act=android.view.InputMethod cmp=com.android.inputmethod.latin/.LatinIME}
binder=android.os.BinderProxy@4392a698
requested=true received=true hasBound=true doRebind=false
* Client AppBindRecord{43a3e288 ProcessRecord{439c0190 572:system/1000}}
Per-process Connections:
ConnectionRecord{43a3e400 com.android.inputmethod.latin/.LatinIME:@43a3da60}
All Connections:
ConnectionRecord{43a3e400 com.android.inputmethod.latin/.LatinIME:@43a3da60}
Connection bindings to services:
* ConnectionRecord{43a3e400 com.android.inputmethod.latin/.LatinIME:@43a3da60}
binding=AppBindRecord{43a3e288 com.android.inputmethod.latin/.LatinIME:system}
conn=android.app.ActivityThread$PackageInfo$ServiceDispatcher$InnerConnection@43a3da60 flags=0x1
If you run it without any arguments, you get a big huge dump of all sorts of
interesting things. I do not yet know how to get it to give me a list of
just the services that have registered themselves, or are actively running.