2012-05-08 15 views
11

Mac OS X dünyasında yeniyim, ancak Windows dev üzerinde yeteneklerim var.Mac OS X arka planını kullanarak Objective-C - başlatıcısı

Bir Web Hizmetinden dosya yükleyen/karşıdan yükleyen bir daemon (Windows'ta Windows Hizmeti olacak) geliştirmem gerekiyor.

Sorum şu ki: Objecting-C'de yazılmış bir uygulama oluşturmak mümkün olacak (upload/download) ve işletim sistemi launchd kullanmaya başladığında başlatılacak mı? Ya da bir daemon yaratmanın başka bir yolu var mı?

bu hizmetler LaunchDaemon (sistem genelinde) ve LaunchAgent (kullanıcıya özgü) olarak adlandırılır OS X'te sizi

cevap

4

ederiz. Sistemin ne zaman başlayacağını, hangi yürütülebilir dosyayı çalıştırılacağını, stdin, stdout ve stderr ile ne yapılacağını, hangi argümanların geçeceğini vb. Bu adam sayfalarına göz at:

launchd(8)  # the service controlling other services 
launchctl(1)  # the command to control services 
launchd.plist(5) # the configuration format for services 

cin Ruby, Python So Objective-C Mac platformu için tipik bir seçimdir OS X üzerinde çalışan herhangi bir dilde yazılmış, ama başka bir şey olabilir, AppleScript üzerinden Perl ve C düz C veya C++ yapardı.

Ve hayır, Mac'te bunu yapmak için başka bir (önerilen) yolu yoktur. init.d tarzı komut dosyaları Mac üzerinde (veya Darwin'de, UNIX katmanında) çalışmamaktadır. Ya da daha doğrusu, onları çalıştıran altyapı yoktur.

Daha fazla bilgi için Daemons and Services Programming Guide'a bakın.

+0

Vurgu: *** herhangi bir dilde yazılabilir. InputManager hackleri nedeniyle LaunchDaemon veya sistem düzeyinde LaunchAgent için Obj-C kullanmayın! – Richard