01Konum
- ~/Library/LaunchAgents/*.plist
- /Library/LaunchAgents/*.plist
- /Library/LaunchDaemons/*.plist
- /System/Library/LaunchAgents/*.plist
- /System/Library/LaunchDaemons/*.plist
02Yanıtladığı sorular
- Hangi programlar tüm kullanıcılar veya tek bir kullanıcı için otomatik başlayacak şekilde yapılandırılmış?
- Her iş hangi yürütülebilir dosyayı ve bağımsız değişkenleri, hangi tetikleyiciyle çalıştırıyor?
- Bir iş, üretici tarafından sağlanan /System konumları dışında mı eklendi?
03Biçim ve sürümler
| Biçim | launchd'nin okuduğu özellik listesi (XML veya ikili). Daemon'lar sistem genelindedir; agent'lar kullanıcı bazında ve yalnızca o kullanıcı oturumdayken çalışır. |
|---|---|
| Geçerli olduğu sürümler | Konumlar launchd.plist(5) ve Apple'ın daemon kılavuzundan alınmıştır. macOS 13'ten itibaren SMAppService, plist'leri bu klasörlere kurmak yerine uygulama paketi içindeki agent ve daemon'ları kaydeder. |
04Temel alanlar
| Alan | Ne anlatır |
|---|---|
| Label | İşi launchd'ye tanıtan benzersiz metin (zorunlu). |
| Program / ProgramArguments | Yürütülebilir dosya yolu ve bağımsız değişken dizisi; ProgramArguments yoksa Program zorunludur. |
| RunAtLoad | İş yüklendiğinde bir kez başlatır (varsayılan false). |
| KeepAlive | İşi isteğe bağlı başlatmak yerine sürekli çalışır tutar. |
| StartInterval, StartCalendarInterval | Her N saniyede veya cron benzeri takvim planıyla çalıştırır. |
| WatchPaths, QueueDirectories | İzlenen yollar değiştiğinde veya klasörler boş olmadığı sürece işi başlatır. |
05İnceleme akışı
- Beş konumun tamamını ve her kullanıcının ~/Library/LaunchAgents klasörünü toplayın.
- Her plist'i ayrıştırın; Label, Program/ProgramArguments ve tetikleyici anahtarlarını tablo hâline getirin.
- Başvurulan yürütülebilir dosyaların varlığını kontrol edin; kod imzalarını ve dosya sistemi zamanlarını inceleyin.
- macOS 13 ve sonrasında oturum açma ve arka plan öğelerini sfltool dumpbtm ile de inceleyin.
06Yorum tuzakları
- Özellik listeleri kurulum zamanı içermez; tarihlendirme dosya sistemi zaman damgalarına ve günlüklere dayanır.
- Genel olarak kurulan işler root'a ait olmalı, grup veya herkes tarafından yazılabilir olmamalıdır; sapmalar dikkat gerektirir.
- SMAppService ile kaydedilen yardımcıların bu klasörlerde plist'e ihtiyacı yoktur; boş bir klasör arka plan öğelerini dışlamaz.
- Alıntılanan launchd.plist(5) sayfası Apple'ın açık kaynak launchd sürümündendir; sonradan eklenen anahtarları içermeyebilir.
08Kaynaklar
- launchd.plist(5) manual page Apple open source (apple-oss-distributions/launchd, GitHub) · erişim 2026-10-14
- Daemons and Services Programming Guide — Creating Launch Daemons and Agents Apple Developer Documentation Archive · erişim 2026-10-14
- SMAppService Apple Developer Documentation · erişim 2026-10-14
- Manage login items and background tasks on Mac Apple Platform Deployment · erişim 2026-10-14
- ForensicArtifacts — artifacts/data/macos.yaml ForensicArtifacts project (GitHub) · erişim 2026-10-14