Як я можу використовувати нестандартні команди startctl для завантаження та вивантаження списків?


14

У мене є кілька файлів плістів ~/Library/LaunchAgents.

Я з радістю використовую launchctl load -wі launchctl unload -wвмикаю ці роки роками. Однак зауважую, що зараз loadі unloadпереносяться на розділ "спадщина" сторінки man. Давайте назвемо одну з них com.example.service.plist.

Однак, коли я намагаюся взаємодіяти з цими списками через, launchctl enable "gui/$(id -u)/com.example.service"а launchctl disable "gui/$(id -u)/com.example.service"інші команди запуску , схоже, повідомляють про успіх - наприклад, launchctl print "gui/$(id -u)"повністю показує мені відключені прапори, які відповідають стану, який я встановив - служби насправді не запускаються і не зупиняються або слухати та не слухати їх у своїх портах.

Чи є якийсь крок, який я пропускаю? На даний момент я дотримуюся loadі , unloadале я хотів би дізнатися , НЕ застарілий спосіб взаємодії з цим матеріалом , перш ніж Apple , в кінці кінців , зачинив двері на старому / поганій дорозі ...


Спадщина означає, що зміни відбулися вперед - ви все ще можете завантажувати та завантажувати вміст свого серця 10.11 і нижче. Моя припущення, що Apple цього року буде мати документацію на WWDC та графік міграції ...
bmike

1
Я припускаю , що просто не може бути відповіді на це поки немає, але він упевнений , виглядає як enableі disableпризначена для заміни loadта unload. Я просто не можу змусити їх працювати так, як я очікував.
Гліф

1
Ви намагалися слідувати launchctl enableза launchctl kickstart?

Я цього не робив, але не launchctl kickstartповинен видавати активізацію відповідної роботи? Я використовую запуск спеціально, тому що я хочу активувати суто запит.
Гліф

2
Це здається, що це може допомогти: babodee.wordpress.com/2016/04/09/launchctl-2-0-syntax
TJ

Відповіді:


6

Я запитав користувача Twitter @launchderp :

@launchderp Чи launchctl loadвивантажувач все ще безпечний у використанні, принаймні до 10.12 або що далі?

cf Як я можу використовувати нестандартні команди startctl для завантаження та вивантаження списків?

І @launchderp відповів

@tjluoma Так вони все ще в безпеці. Занадто багато років залежностей, щоб їх зламати.

Хоча це може не здаватися офіційним заявою Apple, я вважаю, що ця людина є людиною, яка активно працює над launchdApple, і довіряю тому, що вони говорять. YMMV.

Мораль історії: Якщо завантаження / розвантаження працює для вас, продовжуйте використовувати їх :-)


2
Чи не позначати як «прийнято» , тому що це не зовсім вирішити питання про enableі disableа upvoted , тому що я до сих пір ціную інформацію :).
Гліф

1

Стаття, на яку посилається TJ Luoma, дуже корисна. Крок для запуску демона:

  1. Збережіть файл плістів, /Library/LaunchDaemons/як зазвичай. Скажімо, файл є com.example.mysrv.plist, а Label in plist є com.example.mysrv.
  2. sudo launchctl bootstrap system /Library/LaunchDaemons/com.example.mysrv.plist. Зауважте, що шлях може бути відносним (до $PWD) або абсолютним.
  3. Перевірте послугу в sudo launchctl print system/com.example.mysrv. Слід сказати "біг".

Агенти по запуску повинні бути схожими. Caveat: Я поняття не маю, як зупинити послугу, не розвантажуючи її bootout.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.