Launchctl yapılandırmamdaki sorun nedir?


15

Girişte SickBeard'ı otomatik olarak çalıştırmaya çalışıyorum

python /Applications/Sick-Beard/Sickbeard.py

<?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.sickbeard.sickbeard</string>
  <key>ProgramArguments</key>
  <array>
       <string>/usr/bin/python</string>
       <string>/Applications/Sick-Beard/SickBeard.py</string>
       <string>-q</string>
       <string>-d</string>
  </array>
  <key>RunAtLoad</key>
  <true/>
</dict>
</plist>

Ben çalıştırdığımda launchctl com.sickbeard.sickbeard.plistbana mesaj verir:

launchctl load com.sickbeard.sickbeard.plist launchctl: comistick için hiçbir plist döndürülmedi: com.sickbeard.sickbeard.plist launchctl: comistick için hiçbir plist döndürülmedi: com.sickbeard.sickbeard.plist yüklenecek bir şey bulunamadı


Komut satırınızda "launchctl load com.sickbeard.sickbeard.plist" demek istediğinizi varsayıyorum ? Aksi takdirde tamamen farklı bir hata alırsınız ;-)
binarybob 28:12

Yanıtlar:


37

Python betiğinin yollarını ve parametrelerini geçerli kabul ediyorum, aksi takdirde büyük olasılıkla Konsolda hataları görüyorsunuz.

Bu hatayı en son gördüğümde, plistte örneğin ekstra boşluklar, sözdizimi hatalarına neden olan ve bu nedenle yüklenemediğinde sahte karakterler bulunmasıydı. plutil -lintPlistinizde çalışırsanız , bu sizin için sözdizimini kontrol eder ve ayrıca hatanın oluştuğu satırı kolayca raporlar.

plutil -lint com.sickbeard.sickbeard.plist

Bu işe yaramazsa, (OSX) Oturum Açarken SickBeard Nasıl Başlatılır veya sickbeard forumlarındaki OSX iş parçacığında önyükleme sizin için biraz farklı bir plist içerir (hasta sakalı /usr/localaksine çalışmaktadır /Applications- bu bir izin şey olabilir) ve ayrıca görünüşte sizinle aynı problemi olan bazı insanlar


2
Yardımın için teşekkürler. Kopyalama ve yapıştırma, gizli bir karakter getirdi. Nano ile tüm XML retyped ve gayet iyi çalıştı.
Joao Costa

2
Teşekkürler, daha plutil -lintönce hiç bilmiyordum . Çok kullanışlı!
robmathers

Bu yayını buldum, ancak Konsol çıktısını kontrol etmek hata ayıklamaya da yardımcı oluyor.
Wing Tang Wong

2

Zor yolu keşfettiğim sudogibi, .plistdosyanın tam yolunu aşağıdaki gibi kullanarak (sizin durumunuzda) kullanarak komutu yürütmelisiniz :

sudo launchctl load /Library/LaunchDaemons/com.sickbeard.sickbeard.plist

Yol sizin için farklı olabilir, ancak konumunu bulmak ve launchctlkomutta alıntıladığım şekilde iletmek için dosyayı bulmanız gerekir .


2

İleti nothing found to loadbazen, yapılandırmanın başka bir yapılandırma tarafından geçersiz kılındığı anlamına gelir. Yüklemeyi "-w" seçeneğini kullanarak zorlarsınız launchctl load or unload.

Bir plist dosyasının yüklenmesini veya kaldırılmasını zorlamanız gerekiyorsa, plist'i geçersiz kılan bir yapılandırmanız olduğu anlamına gelir. Bu geçersiz kılma "-w" kullandığınızda oluşturulur, aksi takdirde geçersiz kılma dosyasına hiçbir geçersiz kılma eklenmez. Bu durumu önlemek için aşağıdaki dosyayı düzenleyin, geçersiz kılmayı kaldırmak istediğiniz iş etiketinde arama yapın, gerekli satırları silin:

pico /var/db/launchd.db/com.apple.launchd/overrides.plist

Örneğin, bu satırı silin

<key>com.mydomain.myjob</key>
<dict>
        <key>Disabled</key>
        <true/>
</dict>

o zaman kullanabilirsiniz: launchctl load or unload /Library/LaunchDaemons/com.mydomain.myjob.plist"-w" veya "-F" gerekmeden mesajınız olmamalıdırnothing found to load


1

launchctl.Plist'i yüklemeye zorlamak için -F bayrağını eklemek isteyebilirsiniz . Ayrıca, .plist'in yol launchctlaramalarında olduğundan emin olun . .Plist'iniz başka bir yerdeyse, -D bayrağını ekleyebilir ve alanı belirtebilirsiniz. Manpage'den:

-D etki
alanı Verilen etki alanında * .plist ile biten plist (5) dosyalarını arayın. Geçerli alanlar arasında "sistem", "yerel", "ağ" ve "tümü" yer alır. Bir oturum türü sağlarken, "kullanıcı" adı verilen ek bir alan kullanılabilir. Örneğin, bir oturum türü belirtilmezse, "-D sistemi" / System / Library / LaunchDaemons'daki özellik listesi dosyalarından yüklenir. Bir oturum türü geçtiğinde, / System / Library / LaunchAgents öğesinden yüklenir.

Manpagedeki tüm bilgileri iyice gözden geçirdiğinizden emin olun; aramanız uygun şekilde yapılandırılmazsa işleri gerçekten yıkabilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.