普通文本  |  44行  |  1.22 KB

# Sample service for testing
This is a sample service that can be used for testing init.

## Design
The service includes a `.rc` file that allows starting it from init.

    service test_service /system/bin/test_service CapAmb 0000000000003000
        class main
        user system
        group system
        capabilities NET_ADMIN NET_RAW
        disabled
        oneshot

The service accepts any even number of arguments on the command line
(i.e. any number of pairs of arguments.)
It will attempt to find the first element of each pair of arguments in
`/proc/self/status`, and attempt to exactly match the second element of the pair
to the relevant line of `proc/self/status`.

### Example
In the above case, the service will look for lines containing `CapAmb`:

    cat /proc/self/status
    ...
    CapAmb:	0000000000003000

And then attempt to exactly match the token after `:`, `0000000000003000`,
with the command-line argument.
If they match, the service exits successfully. If not, the service will exit
with an error.

## Usage
	mmma -j <jobs> system/core/init/testservice
	adb root
	adb remount
	adb sync
	adb reboot
	adb root
	adb shell start test_service
	adb logcat -b all -d | grep test_service

Look for an exit status of 0.