> ## Documentation Index
> Fetch the complete documentation index at: https://docs.specterops.io/llms.txt
> Use this file to discover all available pages before exploring further.

# xpc_submit

## Summary

Use xpc to execute routines with launchd to submit a keep-alive job from the specified binary without a backing plist.

* Needs Admin: False
* Version: 1
* Author: @xorrior, @Morpheus\_\_\_\_\_\_, @its\_a\_feature\_

### Arguments

#### program

* Description: Path to the binary to execute.
* Required Value: True
* Default Value: None

#### servicename

* Description: Name of the service to create with the specified program
* Required Value: False
* Default Value: None

## Usage

```
xpc_submit -program /Users/itsafeature/Desktop/evil.bin -servicename com.itsafeature.test
```

## Detailed Summary

This command uses the `xpc_pipe_routine` function to send XPC messages to `launchd`.

This uses the ROUTINE\_SUBMIT routine to submit a program for launchd to execute.
