亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > iOS > 正文

配置mac啟動項的3種方式總結

2019-10-21 18:41:37
字體:
來源:轉載
供稿:網友

前言

在Mac OS X中,有三種方式來實現啟動項的配置:1)Login Items;2)StartupItems;3)launchd daemon。下面話不多說了,來一起看看詳細的介紹吧。

1. Login Items

打開System Preferences,選擇System -> Accounts,選擇Login Items選項卡,將/Applications目錄下的.app直接拖進右邊的列表中。重啟電腦之后就會發現列表中的程序在開機之后就自動啟動了。

mac啟動項,mac開機啟動項,mac,os,啟動項

2. StartupItems

StartupItems,顧名思義,就是在系統啟動過程中運行的程序,它們可以是運行完就立即終止的程序(比如,開機清空廢紙簍),也可以是一直持續在系統運行周期的后臺進程。

StartupItems一般存放在以下兩個路徑下:

1)/System/Library/StartupItems

2)/Library/StartupItems

大部分與系統相關的StartupItems都放在/System/Library/StartupItems這個路徑下,它們會先于/Library/StartupItems路徑下的執行,因為前者路徑下的StartupItems提供了系統級的基礎服務,比如crash reporting,core graphics services,system accounting等,而后者路徑在默認情況下是不存在的,需要自己手動創建。

這里我們以/Library/StartupItems目錄下的IcebergControlTower為例。

mac啟動項,mac開機啟動項,mac,os,啟動項

簡單來說,在Mac OS X上,一個StartupItems包含以下兩個方面的內容:

1)可執行程序;

2)包含依賴進程關系的plist文件(StartupParameters.plist)。

2.1 The Property List

2.1.1 Plist的key值與含義

StartupParameters.plist 是一個屬性列表,包含了運行可執行程序的必要條件。

mac啟動項,mac開機啟動項,mac,os,啟動項

該plist需要獲得root權限,包含了幾個方面的內容:

1.Description;

對該服務的一個簡單的描述,僅僅是描述,并不是說明實際的進程名稱。

2.Provides;

指定StartupItems提供的服務。如圖plist文件Provides中說明,StartupItems開啟的后臺進程名為:Iceberg Control Tower。

Provides可以指定多個服務,反映在圖中就是Item0,Item1…等。這里只有Item0。

3.Uses;

指定了在StartupItems加載之前需要開啟的服務。Mac OS X系統先嘗試著加載Uses中指定的服務,然后再加載StartupItems。也就是說,即使Uses中指定的服務沒有加載成功,系統仍然會加載StartupItems。

4.OrderPreference;

指定執行StartupItems的時間順序。這個順序的重要程度排在Uses之后,是指定執行完Uses之后的順序??赡艿娜≈蛋ǎ篎irst, Early, None(default), Late, Last。

5.Messages。

2.1.2 創建一個StartupParameters.plist文件

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"  "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict>  <key>Description</key>  <string>Iceberg Control Tower Initilaization</string>  <key>Provides</key>  <array>   <string>Iceberg Control Tower</string>  </array>   <key>Uses</key>  <array>   <string>Disks</string>  </array>  <key>OrderPreference</key>   <string>None</string> </dict> </plist>

2.2 The Executable File

注意:

  • 可執行文件的名稱和它所在的文件夾的文件名是一樣的,這是系統默認的規則。
  • 操作可執行文件需要獲得root權限。
  • 可執行文件是一個shell腳本。

打開IcebergControlTower文件目錄下同名的可執行文件,可以看到腳本的具體內容:

mac啟動項,mac開機啟動項,mac,os,啟動項

一般的可執行文件包含這樣幾個方面的內容:

1)./etc/rc.common

Apple提供的一個腳本庫,該腳本庫里包含了為可執行文件引進參數的接口。在這里load這個庫主要是調用RunService。

2)StartService(), StopService(), RestartService()

當可執行文件接收到的參數為start,stop或者restart時,執行相對應的函數。

參數含義:

start:開機過程中開啟服務;

stop:關機過程中停止服務;

restart:在特定條件下重啟服務。

3)RunService “$1”

執行傳遞給該腳本的第一個參數指定的服務。

“$1” 表示傳給該腳本的第一個參數。例如,傳入的參數為start,則執行StartService()。

3. Launchd Daemon

launchd是Mac OS下用于初始化系統環境的關鍵進程,它是內核裝載成功之后在OS環境下啟動的第一個進程。

采用這種方式來配置自啟動項很簡單,只需要一個plist文件,通常(同時也是系統推薦)是將plist放在~/Library/LaunchAgents路徑下。

3.1 plist文件格式及每個字段的含義:

mac啟動項,mac開機啟動項,mac,os,啟動項

1)Label【required】

該項服務的名稱。

2)OnDemand【optional】

10.4提供的一個key值,功能與KeepAlive的基本功能相似,在10.5及之后的系統中被KeepAlive替代。KeepAlive擴展了更多的功能,除了使用單一的boolean作為key值之外,還能使用字典結合多個key值。

3)Program【ProgramArgument是required的,在沒有ProgramArgument的情況下,必須要包含Program這個key】

指定可執行文件的路徑。

4)RunAtLoad【optional】

標識launchd在加載完該項服務之后立即啟動路徑指定的可執行文件。默認值為false。

5)WorkingDirectory【optional】

該key在開啟可執行文件之前,指定當前工作目錄的路徑。

6)KeepAlive【optional】

這個key值是用來控制可執行文件是持續運行呢,還是滿足具體條件之后再啟動。默認值為false,也就是說滿足具體條件之后才啟動。當設置值為ture時,表明無條件的開啟可執行文件,并使之保持在整個系統運行周期內。

3.2 創建一個plist文件:

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"  "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict>  <key>Label</key>  <string>com.yourcompany.HSPA_USB_MODEM</string>  <key>OnDemand</key>  <false/>  <key>Program</key>  <string>/Application/HSPA USB MODEM.app/Running</string>  <key>RunAtLoad</key>  <true/>  <key>WorkingDirectory</key>  <string>/Application/HSPA USB MODEM.app</string> </dict> </plist> 

4. 三種方式的區別

初步了解了系統的啟動過程之后,再來看這三種配置啟動項的方式,就很容易理解這三種方式之間的差異了。

總的來說,LoginItems 和StartupItems的區別較明顯。

 

  StartupItems LoginItems
Depedency Ordering Need Do not Need
Load Timing during startup after a user logs in
Launched by WHO by root, but not necessarily the user
Processes types background processes and processes that terminate after running any Mac OS X executable

 

對于我們自定義的Launchd daemon,通常(同時也是系統推薦)是放在~/Library/LaunchAgents路徑下。launchd進程需要在用戶login之后才能加載。這種方式與LoginItems最大的區別在于,啟動的進程不同。LoginItems是通過loginwindow去啟動的,而Launchd daemon是通過com.apple.launchd.peruser啟動。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。


注:相關教程知識閱讀請移步到IOS開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久久久久久久久免费| 亚洲午夜未满十八勿入免费观看全集| 欧美激情一区二区三区高清视频| 精品国产一区二区三区久久| 成人福利免费观看| 日韩欧美国产视频| 久热精品视频在线观看| 国产精品久久久久77777| 91免费视频网站| 国产在线视频一区| 亚洲夜晚福利在线观看| 国内精品久久久久久| 久久成人国产精品| 亚洲最大成人免费视频| 中文字幕精品视频| 国产精品久久久久av免费| 国产精品视频成人| 亚洲精品一区中文| 青青青国产精品一区二区| 欧美老女人在线视频| 欧美日韩亚洲精品一区二区三区| 欧美亚洲一级片| 欧美日韩在线视频一区| 欧美华人在线视频| 一本色道久久88综合日韩精品| 成人黄色免费网站在线观看| 在线观看国产欧美| 精品亚洲夜色av98在线观看| 成人乱人伦精品视频在线观看| 欧美激情欧美狂野欧美精品| 国产色视频一区| 午夜精品一区二区三区在线播放| 亚洲日本aⅴ片在线观看香蕉| 日韩少妇与小伙激情| 国产欧美日韩中文字幕在线| 欧美日韩国产色| 久久五月天综合| 成人妇女免费播放久久久| 欧美精品在线免费观看| 欧美日韩午夜剧场| 久久久久一本一区二区青青蜜月| 亚洲理论片在线观看| 欧美一级视频一区二区| 九九热这里只有精品免费看| 欧美精品在线播放| 成人黄色中文字幕| 伊人伊成久久人综合网站| 欧美成人一二三| 欧美日韩在线视频一区| 中文字幕久久亚洲| 国产精品成人av在线| 在线成人激情黄色| 久久大大胆人体| 亚洲成人久久网| 青青精品视频播放| 国产精品丝袜白浆摸在线| 欧美电影免费观看| 国产成人精品免费久久久久| 国产一区二区三区在线观看网站| 91久久久久久国产精品| 亚洲大胆人体av| 日韩中文综合网| 欧美最猛性xxxxx免费| 亚洲аv电影天堂网| 亚洲精品久久久久中文字幕二区| 国产精品爽黄69天堂a| 日韩av在线免费观看| 午夜免费在线观看精品视频| 日韩一区二区欧美| 亚洲第一视频在线观看| 亚洲精品电影网站| 国产精品久久久久久久久久东京| 亚洲国产欧美久久| 色噜噜久久综合伊人一本| 国产精品18久久久久久麻辣| 国产日韩av在线| 欧美韩国理论所午夜片917电影| 精品久久久久久久久久ntr影视| 欧美性xxxxx| 亚洲国产福利在线| 日韩精品免费在线观看| 国产精品福利观看| 国产精品激情av在线播放| 狠狠色狠色综合曰曰| 亚洲一区二区免费在线| 日韩极品精品视频免费观看| 日韩在线免费观看视频| 日韩在线观看免费全| 欧美成aaa人片在线观看蜜臀| 欧美在线观看www| 欧美性猛交xxxx乱大交极品| 视频一区视频二区国产精品| 91久久精品在线| 91影视免费在线观看| 91久久精品美女高潮| 亚洲美女性视频| 亚洲新声在线观看| 久久乐国产精品| 日本一区二区三区在线播放| 热re91久久精品国99热蜜臀| 精品国产依人香蕉在线精品| 中文字幕日韩视频| 亚洲精品短视频| 国产91在线视频| 久久久精品久久久| 亚洲人成电影在线播放| 亚洲а∨天堂久久精品9966| 国产精品嫩草影院久久久| 国产视频自拍一区| 欧美另类高清videos| 国产精品成人品| 亚洲精品一区在线观看香蕉| 国产精品美女久久久久av超清| 亚洲一区av在线播放| 日韩久久免费视频| 久久夜色撩人精品| 久久久精品网站| 久久久久国产精品www| 狠狠做深爱婷婷久久综合一区| 欧美日韩午夜视频在线观看| 国产精品最新在线观看| 九九热在线精品视频| 日韩av中文字幕在线| 中文字幕视频一区二区在线有码| 一区二区三区回区在观看免费视频| 亚州av一区二区| 欧美人在线视频| 精品精品国产国产自在线| 久久全球大尺度高清视频| 国产在线日韩在线| 亚洲日韩中文字幕在线播放| 91高清在线免费观看| 国产亚洲精品一区二区| 成人免费看片视频| 97超级碰碰人国产在线观看| 免费av在线一区| 国产精品黄色av| 欧美最顶级的aⅴ艳星| 伊人久久久久久久久久久久久| 亚洲系列中文字幕| 2025国产精品视频| 国产福利精品视频| 日本一区二区三区在线播放| 日韩av一卡二卡| 91sao在线观看国产| 国产欧美久久一区二区| 亚洲色图狂野欧美| 91网站在线免费观看| 国产精品99久久久久久久久久久久| 国产欧美日韩精品丝袜高跟鞋| 2020久久国产精品| 国产亚洲一区精品| 亚洲人成网站777色婷婷| 久久夜色精品国产| 国产精品视频专区| 国产精品久久久久久影视| 亚洲精品国产精品国自产观看浪潮| 国产精品香蕉国产| 欧美专区日韩视频| 91精品国产免费久久久久久| 国产欧美va欧美va香蕉在| 不卡在线观看电视剧完整版| 国产成人精品最新| 亚洲va欧美va国产综合久久|