macOS’ta launchd: Otomatik Görev Yönetimi
macOS işletim sistemi, arkada çalışan görevleri düzenlemek ve otomatikleştirmek için çeşitli araçlar sunar. Bu araçlardan biri de launchd‘dır. “launchd”, macOS’ta otomatik olarak başlatılan işlemleri yöneten bir sistem yöneticisidir.
launchd Nedir?
launchd, macOS ve diğer BSD türevi işletim sistemlerinde kullanılan bir sistem yöneticisidir. Sistem başlangıcında çalışan süreçleri başlatır, sürekli çalışan hizmetleri denetler ve gerektiğinde yeniden başlatır. Bu, otomatik görevlerin yönetimini kolaylaştırır.
Temel Kavramlar
Agent ve Daemonlar: launchd
, iki tür süreci yönetir: ajanlar (agents) ve daemonlar.
- Ajanlar, kullanıcı oturumunu başlatırken çalışır ve kullanıcı bağlantısı kapandığında durur.
- Daemonlar ise sistem başladığında çalışır ve kapanana kadar aktif kalır.
Property List (plist) Dosyaları: launchd konfigürasyonu, XML tabanlı plist dosyaları aracılığıyla yapılır. Bu dosyalar, hangi programın çalıştırılacağı, nasıl çalıştırılacağı ve ne zaman çalıştırılacağı gibi bilgileri içerir.
Kullanımı
Ajan Oluşturma:
Aşağıdaki gibi bir plist dosyası oluşturarak bir ajan tanımlayabilirsiniz:
<?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>com.example.myagent</string>
<key>ProgramArguments</key>
<array>
<string>/usr/bin/python3</string>
<string>/path/to/your/script.py</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
Daemon Oluşturma
Daemon için bir plist dosyası oluşturmak, ajan oluşturmaya benzer. Sadece “Label” alanının farklı olması gerekebilir.
launchd, macOS işletim sisteminde otomatik işlemleri yönetmek için güçlü bir araçtır. Ajanlar ve daemonlar aracılığıyla kullanıcı ve sistem düzeyinde görevlerinizi düzenleyebilir ve otomatikleştirebilirsiniz.
Not: Özellikle plist dosyalarının doğru şekilde yapılandırılması önemlidir. Hatalı yapılandırma, beklenmeyen sonuçlara yol açabilir.