LaunchDaemon tanınmıyor


3

MacPorts aracılığıyla CouchDB'yi kurdum. Şimdi Mac'im önyüklendiğinde başlatmak istiyorum, bu yüzden yükleme işleminde verilen talimatları uyguladım:

sudo launchctl load -w /Library/LaunchDaemons/org.apache.couchdb.plist

Ancak bu işe yaramadı. LaunchDaemons dizinine baktım ve plist dosyası orada (sembolik link olarak):

lrwxr-xr-x  1 root  wheel   57 18 aug 10:11 org.apache.couchdb.plist -> /opt/local/Library/LaunchDaemons/org.apache.couchdb.plist

Gerçek pist dosyasının içeriği iyi görünüyor (ancak nasıl görünmesi gerektiği konusunda hiçbir bilgim yok):

<plist version="1.0">
  <dict>
    <key>Label</key>
    <string>org.apache.couchdb</string>
    <key>EnvironmentVariables</key>
    <dict>
      <key>HOME</key>
      <string>~</string>


    </dict>
    <key>ProgramArguments</key>
    <array>
      <string>/opt/local/bin/couchdb</string>
    </array>
    <key>UserName</key>
    <string>couchdb</string>
    <key>StandardOutPath</key>
    <string>/dev/null</string>
    <key>StandardErrorPath</key>
    <string>/dev/null</string>
    <key>RunAtLoad</key>
    <true/>
    <key>KeepAlive</key>
    <true/>
  </dict>
</plist>

İdam ettiğimde /opt/local/bin/couchdb manuel olarak, süreç oluşturulur, yani orada sorun yok. Görünüşe göre fırlatma cini bu komutu atlıyor.

Bunun nasıl düzeltileceği hakkında bir fikrin var mı?


StandardOutPath ve StandardErrorPath'i rel dosyaları olarak değiştirirseniz, herhangi bir şey gösteriyorlar mı?
Mark

'Bir şey göster' ile ne demek istediğinizi tam olarak anlayamadım. Her neyse, diğer pist dosyalarına baktım ve aynı değerlere sahipler, bu yüzden problem olduğunu sanmıyorum.
Peter Kruithof

“Ancak bu işe yaramıyor” Bunun yerine ne alıyorsunuz? does launchctl Her şey yolundaymış gibi çık, yoksa bir hatan mı var? does launchctl list arka plan programı göster
zneak

Yanıtlar:


5

Takip etmeyi dene ( tek satırlık komut ):

sudo chown -R couchdb:couchdb /opt/local/var/lib/couchdb/ /opt/local/var/log/couchdb/ /opt/local/etc/couchdb/ /opt/local/var/run/couchdb

Ardından yeniden başlatın.

Çalışmazsa, hangi MacPorts ve CouchDB sürümlerine sahipsiniz?


1
neden yeniden başlatılıyor? bir sudo launchctl unload -w /Library/LaunchDaemons/org.apache.couchdb.plist && sudo launchctl load -w /Library/LaunchDaemons/org.apache.couchdb.plist iyi yapacak
Carmine Paolino

Çok tembeldi: P
Studer

3

CouchDB'ye özellikle aşina değilim, ancak .plist dosyanızla ilgili birkaç olası sorun görüyorum: ilk olarak, ayarlanan HOME değeri garip - belirli bir klasör yolu olmalıdır (yani, couchdb kullanıcısının evini nereye koyduğunuza klasör) ~. İkinci olarak, PATH ortam değişkenini de ayarlamanız gerektiğinden şüpheleniyorum, böylece CouchDB kurduğunuz diğer isteğe bağlı programları bulabilir. Bu yüzden .plist'in o kısmı şöyle görünmeli:

<key>EnvironmentVariables</key>
<dict>
    <key>HOME</key>
    <string>/usr/local/var/lib/couchdb</string>
    <key>PATH</key>
    <string>/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/opt/local/bin:/opt/local/sbin</string>
</dict>

(Not: Yukarıdaki değerler küçük bir kargaşaya dayanan tahminlerdir - bunları CouchDB kullanıcınızın evinin bulunduğu yere ve / veya eklenti ikili klasörlerinin bulunduğu yere ayarlamanız gerekebilir.) Değiştirilen .plist dosyasını yüklemek için :

sudo launchctl unload /Library/LaunchDaemons/org.apache.couchdb.plist
sudo launchctl load /Library/LaunchDaemons/org.apache.couchdb.plist

Eğer bu sorunu çözmezse, neyin yanlış gittiği hakkında daha fazla bilgi aramanız için birkaç yer vardır: İlk önce, Konsol yardımcı programıyla birlikte sistem günlüğüne bir göz atın veya bir komut satırı aracı; .plist dosyasını işlemeye çalışırken veya CouchDB'yi başlatırken başlatılan hatalar ortaya çıkar. İkinci olarak, Mark'ın StandardOutPath ve StandardErrorPath'i gerçek dosyalara dönüştürme ve orada görünenlere bakma konusundaki önerisini takip edin. Her şey uygun şekilde yapılandırılmışsa bu gerekli değildir, ancak bir sorun olduğunda neyin yanlış olduğunu bulmak için çok yararlı olabilir (ve sorun çözüldükten sonra bunları tekrar / dev / null olarak değiştirebilirsiniz).


Ayrıntılı yaklaşımınız için +1, ancak pist dosyasını hacklemeye başvurmak yerine (MacPorts'un dağıtılmış birinin doğru olduğunu ve yükseltme yaptığımda tekrar üzerine yazılacağını varsayıyorum). Bunun basit bir hak sorunu olduğu ortaya çıktı.
Peter Kruithof
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.