Launchd Non-Apple Jobs
Overview
Show the current launchd job list filtered to non-Apple labels, and create user LaunchAgents (GUI domain) for one-time or recurring schedules.
Quick Start
- List non-Apple jobs:
scripts/show_jobs.sh
- Create a one-time job:
scripts/create_job.sh --label "com.example.myjob" --command "echo hello" --once "2026-02-05 13:30"
- Create a recurring job:
scripts/create_job.sh --label "com.example.myjob" --command "echo hello" --daily "09:00"
- Remove a job:
scripts/delete_job.sh --label "com.example.myjob"
Tasks
Show non-Apple jobs
- Run
scripts/show_jobs.sh. - The output keeps the header and only non-Apple labels.
Create a one-time job
- Use
--once "YYYY-MM-DD HH:MM". - The job schedules via
StartCalendarIntervaland self-removes after the first run.
Create a recurring job
- Use one of:
--daily,--weekly,--monthly, or--interval. - The job uses
StartCalendarInterval(orStartInterval) and remains installed until removed.
Remove a job
- Run
scripts/delete_job.sh --label "<label>". - This unloads the job and moves the plist (and one-time wrapper, if present) to Trash.
Customize the filter (optional)
- If the user wants to include additional Apple-like prefixes, update the regex in
scripts/show_jobs.sh.
Resources
scripts/
show_jobs.sh: Launcheslaunchctl listand filters out Apple jobs.create_job.sh: Creates a user LaunchAgent for one-time or recurring schedules.delete_job.sh: Unloads and removes a user LaunchAgent by label.
