第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

如何將已經(jīng)運(yùn)行的二進(jìn)制文件設(shè)置為在啟動時(shí)運(yùn)行

如何將已經(jīng)運(yùn)行的二進(jìn)制文件設(shè)置為在啟動時(shí)運(yùn)行

Go
炎炎設(shè)計(jì) 2023-06-19 17:49:21
我有一個(gè) Go 程序,它應(yīng)該作為守護(hù)進(jìn)程運(yùn)行,為用戶提供最少的前端(只是系統(tǒng)托盤中的一個(gè)圖標(biāo)。)它是用 Go 編寫的這一事實(shí)并不重要,我遇到的主要問題是讓二進(jìn)制文件(已經(jīng)運(yùn)行)在 Mac 上啟動時(shí)運(yùn)行。我可以將二進(jìn)制文件設(shè)置為在啟動時(shí)運(yùn)行,如下所示:cp daemon.plist ~/Library/LaunchAgents/daemon.plist(cp將 plist 放入 LaunchAgents 目錄)launchctl load -w ~/Library/LaunchAgents/daemon.plist(然后用 加載 plist launchctl。)這很好用。唯一的問題是launchctl load 它啟動了另一個(gè)已經(jīng)在運(yùn)行的二進(jìn)制文件實(shí)例。我希望能夠在啟動時(shí)為正在運(yùn)行的二進(jìn)制文件啟用(和禁用)運(yùn)行二進(jìn)制文件,而不啟動它的另一個(gè)實(shí)例。.plist如果你想看的話,這里是文件:<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict>    <key>Label</key>    <string>daemon</string>    <key>ProgramArguments</key>    <array>        <string>/Applications/Daemon.app/Contents/MacOS/daemon</string>    </array>    <key>ProcessType</key>    <string>Interactive</string>    <key>RunAtLoad</key>    <true/>    <key>KeepAlive</key>    <false/></dict></plist>
查看完整描述

1 回答

?
一只斗牛犬

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超2個(gè)贊

我想到了。


所以首先,二進(jìn)制文件正在運(yùn)行。它開始時(shí)未啟用在啟動時(shí)運(yùn)行。要初始化,您cp需要plist進(jìn)入~/Library/LaunchAgents/目錄:


cp daemon.plist ~/Library/LaunchAgents/daemon.plist

看起來plist像這樣:


<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

<plist version="1.0">

<dict>

    <key>Label</key>

    <string>daemon</string>

    <key>ProgramArguments</key>

    <array>

        <string>/Applications/Daemon.app/Contents/MacOS/daemon</string>

    </array>

    <key>ProcessType</key>

    <string>Interactive</string>

    <key>RunAtLoad</key>

    <false/>

    <key>KeepAlive</key>

    <false/>

</dict>

</plist>

注意:RunAtLoad鍵設(shè)置為false。


然后我們將其加載到launchctl:


launchctl load -w ~/Library/LaunchAgents/daemon.plist

它不應(yīng)加載,因?yàn)镽unAtLoad設(shè)置為false.


然后,我們可以像這樣在啟動時(shí)啟用和禁用運(yùn)行:

啟用:

  • 設(shè)為RunAtLoad_true

  • cp結(jié)束plist_

禁用:

  • 設(shè)為RunAtLoad_false

  • cp結(jié)束plist_

有點(diǎn)hacky,但它有效。


查看完整回答
反對 回復(fù) 2023-06-19
  • 1 回答
  • 0 關(guān)注
  • 210 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號