table_name("launchd") description("LaunchAgents and LaunchDaemons from default search paths.") schema([ Column("path", TEXT, "Path to daemon or agent plist", index=True), Column("name", TEXT, "File name of plist (used by launchd)"), Column("label", TEXT, "Daemon or agent service name"), Column("program", TEXT, "Path to target program"), Column("run_at_load", TEXT, "Should the program run on launch load"), Column("keep_alive", TEXT, "Should the process be restarted if killed"), Column("on_demand", TEXT, "Deprecated key, replaced by keep_alive"), Column("disabled", TEXT, "Skip loading this daemon or agent on boot"), Column("username", TEXT, "Run this daemon or agent as this username"), Column("groupname", TEXT, "Run this daemon or agent as this group"), Column("stdout_path", TEXT, "Pipe stdout to a target path"), Column("stderr_path", TEXT, "Pipe stderr to a target path"), Column("start_interval", TEXT, "Frequency to run in seconds"), Column("program_arguments", TEXT, "Command line arguments passed to program"), Column("watch_paths", TEXT, "Key that launches daemon or agent if path is modified"), Column("queue_directories", TEXT, "Similar to watch_paths but only with non-empty directories"), Column("inetd_compatibility", TEXT, "Run this daemon or agent as it was launched from inetd"), Column("start_on_mount", TEXT, "Run daemon or agent every time a filesystem is mounted"), Column("root_directory", TEXT, "Key used to specify a directory to chroot to before launch"), Column("working_directory", TEXT, "Key used to specify a directory to chdir to before launch"), Column("process_type", TEXT, "Key describes the intended purpose of the job"), ]) attributes(cacheable=True) implementation("launchd@genLaunchd") fuzz_paths([ "/System/Library/LaunchDaemons", ])