Mac--Launchctl介紹

Launchctl    控制OS X系統裏的啓動進程(launch) php

在Mac裏有一個命令行工具叫作:launchctl,能夠用來控制服務的自動啓動或者關閉。通常的語法是
sudo launchctl load /path/to/service.plistsudo launchctl unload /path/to/service.plist
通常plist文件放在這j幾個地方:mysql

/Library/LaunchDaemons/   由管理員定義的守護進程任務項 
/Library/LaunchAgents/      由管理員爲用戶定義的任務項 
~/Library/LaunchAgents/     由用戶本身定義的任務項 nginx

 /System/Library/LaunchAgents   由Mac OS X爲用戶定義的任務項redis

你能夠寫一個plist文件放到~/Library/Launch Agents/下面,文件裏描述你的程序路徑和啓動參數,那麼這個用戶登陸時就會啓動這個程序了,並且是殺不了的哦
被殺了以後會自動從新啓動
若是須要把它中止的話,運行一下命令
launchctl unload ~/Library/Launch Agents/com.your company.porduct
若是放到/Library/Launch Agents/下面的話,就是一開機就啓動哦~sql

Launchctl :控制OS X系統裏的啓動進程(launch) 編程


執行定時腳本|設置開機啓動步驟 
(1)編寫執行腳本 
一般brew在安裝軟件時brew爲咱們自動生成。 
(2)去對應的目錄下創建plist文件 
(3)加載服務vim

說明:Agents文件夾下的plist是須要用戶登陸後,纔會加載的,而Daemons文件夾下得plist是隻要開機,能夠不用登陸就會被加載bash

加載/卸載服務 
cd 進入指定 plist 文件 目錄 
launchctl load *.plist #加載 
launchctl unload *.plist #取消 
launchctl list #查看服務數據結構

launchctl load -w   **.pist #設置開機啓動並當即啓動改服務

launchctl load **.pist #設置開機啓動但不當即啓動服務 
2.4 對服務設置別名方便操做 
vim ~/.bash_profile #編輯添加以下腳本 
alias nginx.start=’launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist’ 
alias nginx.stop=’launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist’ 
alias nginx.restart=’nginx.stop && nginx.start’ 
alias php-fpm.start=」launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php55.plist」 
alias php-fpm.stop=」launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.php55.plist」 
alias php-fpm.restart=’php-fpm.stop && php-fpm.start’ 
alias mysql.start=」launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist」 
alias mysql.stop=」launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist」 
alias mysql.restart=’mysql.stop && mysql.start’ 
alias redis.start=」launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.redis.plist」 
alias redis.stop=」launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.redis.plist」 
alias redis.restart=’redis.stop && redis.start’ 
alias memcached.start=」launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.memcached.plist」 
alias memcached.stop=」launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.memcached.plist」 
alias memcached.restart=’memcached.stop && memcached.start’memcached

 

 

plist介紹

Plist的全稱是Property lists,是一種用來存儲串行化後的對象的文件。屬性列表文件的文件擴展名爲.plist,所以一般被稱爲plist文件。Plist文件一般用於儲存用戶設置,也能夠用於存儲捆綁的信息。

Plist組織數據到命名值和列表值,主要經過幾個主要的Core Foundation類型:CFString, CFNumber, CFBoolean, CFDate, CFData, CFArray, 和 CFDictionary。

Plist結構和內容

Property lists從基本的Core Foundation 類型:CFString,CFNumber,CFBoolean,CFDate,CFData構造。要創建一個複雜的數據結構從這些基本類型,你得把它們放在裏面CFDictionary或CFArray裏面。爲了簡化對Property lists的編程,任何屬性列表類型也能夠被引用經過使用類型CFPropertyListRef。

在一個CFDictionary,數據結構是以鍵-值對的形式,其中每一個鍵是一個字符串,該鍵的值能夠是一個CFString字符串,一個CFNumber,一個CFBoolean,一個CFDate,一個CFData,一個CFArray,或其餘CFDictionary。當使用CFDictionary做爲屬性列表時,全部的鍵必須是字符串。

在一個CFArray,數據結構是以一個能夠經過索引訪問的對象的有序集合。在屬性列表中,一個CFArray能夠包含任何的基本屬性列表類型,以及CFDictionary和其餘CFArray的對象。

PROPERTY LIST XML 標籤

當屬性列表將Core Foundation對象集合轉換成一個XML的屬性列表,使用文件類型標籤<plist>來包含全部的屬性列表。下表中列出Core Foundation數據類型經常使用的其餘標記:

Core Foundation數據類型等同的XML

Core Foundation類型

XML標籤

CFString

<string>

CFNumber

<real> 或者 <integer>

CFBoolean

<true /> 或者<false />

CFDate

<date>

CFData

<data>

CFArray

<array>

CFDictionary

<dict>

相關文章
相關標籤/搜索