Bagaimana cara mengaktifkan launchd logging di OS X 10.6?
Saya menambahkan daemon baru yang tidak memulai dengan benar (statusnya adalah 1
).
Saya ingin men-debug masalah tetapi saya tidak dapat menemukan launchd
log, mereka tidak masuk /var/log/launchd.log
.
Dengan asumsi Anda mencoba untuk log proses Anda daripada launchd itu sendiri, jika Anda memasukkan baris berikut dalam file plist launchd:
dan memuat kembali prosesnya, setiap pencatatan atau pencetakan yang Anda miliki di dalam skrip Anda akan ditangkap dalam salah satu dari dua file itu setiap kali dijalankan. meskipun memutar file tampaknya terserah Anda. seperti yang Anda harapkan, jika Anda menggunakan file yang sama di kedua contoh, itu akan mencatat kesalahan dan stdout ke tempat yang sama.
Lihat: bagian Debugging launchd Jobs di Creating Launch Daemon dan Agents .
sumber
Pada OS X 10.11 (El Capitan), Anda dapat menggunakan
sudo launchctl debug <service-target> --stdout --stderr
untuk mengaktifkan pencatatan sekali saja, jika Anda tidak ingin mengambil opsi sistem file yang disarankan oleh @peter.Banyak hal berbeda dalam implementasi saat ini
launchctl
, dan<service-target>
agak aneh. Misalnya, saya memiliki layanan lokal yang saya konfigurasikan~/Library/LaunchAgents/dev.localmon.plist
, yang memiliki "label"dev.localmon
. Its<service-target>
adalahgui/$UID/dev.localmon
, di mana$UID
adalah ID pengguna Anda, yang, karena Anda menjalankan ini pada CLI, shell Anda akan interpolasi untuk Anda.Jadi seandainya
dev.localmon
layanan saya mogok pada saat startup (itu), saya bisa memanggil yang berikut untuklaunchctl
menyalurkan stdout proses dan stderr ke shell saya waktu berikutnya (dan hanya waktu berikutnya) layanan dimulai:Karena itu tergantung pada TTY yang terbuka dan siap, buka terminal lain dan jalankan:
Kemudian, kembali di terminal pertama, Anda akan melihat hasilnya. (Anehnya, itu tidak menutup ketika proses layanan mati, jadi Anda harus Ctrl-C.)
Btw, setelah Anda memperbaiki file konfigurasi Anda dengan PATH atau lingkungan apa pun yang melanggar layanan sebelumnya, Anda masih harus menggunakan
launchctl unload ~/Library/LaunchAgents/dev.localmon.plist && launchctl load ~/Library/LaunchAgents/dev.localmon.plist
dua langkah lama karenauncache
subkomand dokumen yang diakui memiliki efek sebagai berikut:Yay untuk strategi rilis pasca-Pekerjaan Apple: "Bergerak cepat dan hancurkan sesuatu"
sumber
sudo launchctl debug
keluarCould not find domain for
bersamaku