launch is a wrapper for liblaunch which lets you load, unload, reload, submit, remove, start, stop and list jobs for launchd as well as checkin from a process spawned by launchd and retrieve the sockets for the job that spawned the process.
Eric Hodel, Samuel Kadolph
gem "launch", "~> 2.0.0"