之前了解到mac下的開機啟動和定時自動執行不再沿用cron,而是有自己的launchctl:把啟動檔案放在/library/launchdaemon/***.plist,裡面可以記錄執行的時間間隔、工作目錄之類的。
我在公司的筆記本使用無線網,每次重啟後ip可能會變,變了以後我在家裡就找不到它了,為了解決這個問題,我讓機器每隔一段時間執行ifconfig命令,並把結果輸出到雲同步盤上去。只要查一下同步盤上的記錄,就知道ip了。我的com.binglen.ipmonitor.plist檔案是這麼寫的:
<?xml version="1.0" encoding="utf-8"
?>
>
<
plist
version
="1.0"
>
<
dict
>
<
key>label
key>
<
string
>com.binglen.ipmonitor.plist
string
>
<
key>programarguments
key>
<
array
>
<
string
string
>
array
>
<
key>keepalive
key>
<
false
/>
<
key>runatload
key>
<
true
/>
<
key>startinterval
key>
<
integer
>60
integer
>
<
key>workingdirectory
key>
<
string
string
>
dict
>
plist
>
然後執行launchctl load /library/launchdaemon/com.binglen.ipmonitor.plist,成功!
雖然指令碼每分鐘會執行,可是每次重啟機器後發現不能自動起來。最後發現原來是許可權的問題,在執行load之前需要執行如下命令:
sudochown
root com.binglen.ipmonitor.plist # 將plist檔案許可權修改為root
sudo luanchctl load com.binglen.ipmonitor.plist # 以管理員許可權執行
再次重啟後,執行如下命令即可檢視到正在執行的指令碼:
$ sudo launchctl list|grepbinglen
- 0 com.binglen.ipmonitor.plist
不過我還是有乙個遺留問題:當前非管理員也執行著若干launchctl指令碼,前面的檢視命令不敲sudo就可以看到這個list,他們也是開機啟動的,怎麼做到的呢?
Mac設定Mysql開機啟動
mac和linux略有不同,有的功能封閉起來了。mac實現自啟動,可以用 launchctl功能來實現,launchctl實際上是寫 plist檔案,和linux中的crontab功能一樣。然後將建立的檔案放在 library launchdaemons資料夾。1.建立plist檔案 sudo to...
Mac上禁止Apache開機啟動
前段時間在機器上裝了apache mysql php,但最近越來越發現,耗電量高可能就是因為它,所以想禁用amp,看看是否這個原因。mysql的話,在系統屬性裡有乙個mysql,可以用來對它進行開啟和關閉 還可以設定是否在啟動系統的時候同時啟動mysql 可是apache就沒有了。嗯,雖然說在共享裡...
mac 設定mysql開機自啟動
mac 設定mysql開機自啟動 1 編輯乙個mysql啟動檔案。在終端裡面輸入 sudo vi library launchdaemons com.mysql.mysql.plist 2 輸入啟動檔案內容 複製 keepalive label com.mysql.mysqld programarg...