MAC設置開機啟動


mac將使用launchctl做為開機啟動工具,launchctl將根據plist文件的信息來啟動任務。plist腳本一般存放在以下目錄:

l /Library/LaunchDaemons -->只要系統啟動了,哪怕用戶不登陸系統也會被執行

l /Library/LaunchAgents -->當用戶登陸系統后才會被執行

 

~/Library/LaunchAgents 由用戶自己定義的任務項
/Library/LaunchAgents 由管理員為用戶定義的任務項
/Library/LaunchDaemons 由管理員定義的守護進程任務項
/System/Library/LaunchAgents Mac OS X為用戶定義的任務項
/System/Library/LaunchDaemons Mac OS X定義的守護進程任務項

 

launchctl 常用命令:

# 加載任務, -w選項會將plist文件中無效的key覆蓋掉,建議加上

$ launchctl load -w com.demo.plist

 

# 刪除任務

$ launchctl unload -w com.demo.plist

 

# 查看任務列表, 使用 grep '任務部分名字' 過濾

$ launchctl list | grep 'com.demo'

 

# 開始任務

$ launchctl start  com.demo.plist

 

# 結束任務

$ launchctl stop   com.demo.plist

 

如果任務唄修改了,那么必須先unload,然后重新loadstart可以測試任務,這個是立即行,不管時間到了沒有執行startunload前,任務必須先load過,否則報錯stop可以停止任務

 

plist支持兩種方式配置執行時間:

StartInterval: 指定腳本每間隔多長時間(單位:秒)執行一次;

StartCalendarInterval: 可以指定腳本在多少分鍾、小時、天、星期幾、月時間上執行,類似如crontab的中的設置,包含下面的 key:

Minute <integer>

The minute on which this job will be run.

Hour <integer>

The hour on which this job will be run.

Day <integer>

The day on which this job will be run.

Weekday <integer>

The weekday on which this job will be run (0 and 7 are Sunday).

Month <integer>

The month on which this job will be run.

 

plist部分參數說明:

Label:對應的需要保證全局唯一性;

Program:要運行的程序;

ProgramArguments:命令語句

StartCalendarInterval:運行的時間,單個時間點使用dict,多個時間點使用 array <dict>

StartInterval:時間間隔,與StartCalendarInterval使用其一,單位為秒

StandardInPathStandardOutPathStandardErrorPath:標准的輸入輸出錯誤文件,這里建議不要使用 .log 作為后綴,會打不開里面的信息。

定時啟動任務時,如果涉及到網絡,但是電腦處於睡眠狀態,是執行不了的,這個時候,可以定時的啟動屏幕就好了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM