LaunchAgent

Struct LaunchAgent 

Source
pub struct LaunchAgent {
    pub label: String,
    pub program_arguments: Vec<String>,
    pub standard_out_path: PathBuf,
    pub standard_error_path: PathBuf,
    pub keep_alive: bool,
    pub run_at_load: bool,
    pub process_type: ProcessType,
}
Expand description

Launch Agent configuration.

A Launch Agent is a macOS mechanism for automatically starting user-level processes at login or in response to specific events. Launch Agents are described using plist files, which are placed in the ~/Library/LaunchAgents directory.

Each agent can be configured to start automatically, restart on failure, redirect output, and pass arguments to the launched process. Agents are managed using the launchctl utility.

More information: [https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/CreatingLaunchdJobs.html](Apple Developer Documentation)

Fields§

§label: String§program_arguments: Vec<String>§standard_out_path: PathBuf§standard_error_path: PathBuf§keep_alive: bool§run_at_load: bool§process_type: ProcessType

Implementations§

Source§

impl LaunchAgent

Source

pub fn new(label: &str) -> Self

Create a new Launch Agent configuration.

Source

pub fn exists(label: &str) -> bool

Check if a Launch Agent configuration exists.

Source

pub fn from_file(label: &str) -> Result<Self, LaunchAgentError>

Loads a Launch Agent configuration from ~/Library/LaunchAgents by agent label.

Source§

impl LaunchAgent

Source

pub fn write(&self) -> Result<(), LaunchAgentError>

Writes the Launch Agent configuration to the current user’s LaunchAgents directory.

Source

pub fn remove(&self) -> Result<(), LaunchAgentError>

Removes the Launch Agent configuration from the current user’s LaunchAgents directory.

Source

pub fn path(&self) -> PathBuf

Returns the path to the Launch Agent configuration file for the given label.

Trait Implementations§

Source§

impl Clone for LaunchAgent

Source§

fn clone(&self) -> LaunchAgent

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<'de> Deserialize<'de> for LaunchAgent

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl LaunchControllable for LaunchAgent

Source§

fn bootstrap(&self) -> LaunchctlResult<()>

Bootstrap the launch agent.

Source§

fn boot_out(&self) -> LaunchctlResult<()>

Boot out the launch agent. It means not only stop, but also deactivate the launch agent.

Source§

fn is_running(&self) -> LaunchctlResult<bool>

Check if the launch agent is running.

Source§

impl Serialize for LaunchAgent

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,