Documentation Index
Fetch the complete documentation index at: https://mintlify.com/HavocFramework/Havoc/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Thejob command provides a management interface for the Demon agent’s multi-threaded job system. Jobs are long-running tasks that execute in separate threads, such as BOF executions, SOCKS proxies, and port forwards.
Syntax
Subcommands
list
Displays all currently running jobs with their status and metadata.Unique identifier for the job
Current job status: Running, Suspended, or Completed
Type of job (BOF, SOCKS, PortForward, etc.)
suspend
Suspends a running job thread without terminating it.The ID of the job to suspend (obtained from
job list)resume
Resumes a previously suspended job thread.The ID of the suspended job to resume
kill
Terminates a running or suspended job and removes it from the job list.The ID of the job to terminate
Examples
List All Jobs
Suspend a Running Job
Resume a Suspended Job
Kill a Job
OPSEC Considerations
Job Thread Impact on Sleep Obfuscation
When jobs are running:- Sleep obfuscation is disabled: The agent cannot encrypt its memory while other threads are active
- Memory footprint increases: Each job thread maintains its own stack and resources
- Detection risk: Multiple threads may be more visible to EDR solutions
Best Practices
- Minimize Job Count: Only run necessary jobs to reduce the agent’s footprint
- Kill Completed Jobs: Use
job killto remove finished jobs and allow sleep obfuscation - Monitor Job Status: Regularly check
job listto identify hung or unnecessary jobs - Suspend Instead of Kill: Use
suspendfor jobs you may need later to avoid re-initialization overhead
Use Cases
Managing SOCKS Proxies
Controlling BOF Execution
Troubleshooting Hung Jobs
Job States
- Running
- Suspended
- Completed
- Died
The job thread is actively executing. This state:
- Prevents sleep obfuscation
- Consumes CPU and memory resources
- Can be suspended or killed
Return Values
The job command that was executed (list, suspend, resume, kill)
ID of the affected job (not present for list command)
Result of the operation: Success or Error
Additional information about the operation result
Related Commands
inline-execute- Execute BOFs that create jobssocket- Manage SOCKS proxies and port forwards (creates jobs)dotnet inline-execute- Run .NET assemblies in-process (creates CLR job)
Notes
- Job IDs are assigned sequentially starting from 1
- Suspended jobs still occupy memory and prevent sleep obfuscation
- Some job types cannot be safely suspended (e.g., SOCKS connections)
- Always kill jobs when they are no longer needed to enable sleep obfuscation
- The agent automatically reports when jobs die unexpectedly
