• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Lingon - die GUI für den Super-Dämonen launchd

AgentSmith

Hochzeitsapfel
Registriert
15.07.07
Beiträge
9.304
So, angeregt durch dein Posting hab ich es jetzt nochmal probiert, ging immer noch nicht. Dann habe ich allerdings den "Show in Finder"-Punkt im Menü entdeckt, und siehe da, das war ja nur eine plist-Datei, die ich problemlos von Hand in den Papierkorb legen und auch komplett löschen konnte.
Lingon neu gestartet und weg war der Eintrag.

Hast du einen guten anderen Tipp für eine Software, mit der ich zeitgesteuerte Ausführungen einrichten kann, MacMark? Möglichst mit GUI ;)
 

stk

Grünapfel
Registriert
05.01.04
Beiträge
7.141
Moin,

Cronnix - das ist die GUI für cron

Gruß Stefan
 

stehlampe

Grahams Jubiläumsapfel
Registriert
14.03.06
Beiträge
103
Hi,
kann mir jemand sagen welchen deamon oder agent ich verwenden muss, wenn ohne eine Useranmeldung, alle 5 tage ein shellskript ausgeführt werden soll das mir in einen bestimmten ordner der festplatte etwas schreibt?

Grüße!
 

pepi

Cellini
Registriert
03.09.05
Beiträge
8.740
Das am simpelsten Einzurichtende wäre wohl in dem Fall einen cron(5) Job im crontab(8) einzutragen. Alternativ bau Dir einen LaunchAgent mit Lingon was in diesem Thread ja schon recht gut beschrieben wurde.
Gruß Pepi
 

stehlampe

Grahams Jubiläumsapfel
Registriert
14.03.06
Beiträge
103
Hi, mit Ligon hatte ich ja vor - ich bin mir nur nicht sicher in welchen Register ich das Skript eintragen muss, damit es funktioniert ohne(!) eine Useranmeldung. Das wäre die Frage :)
 

j33n5

Horneburger Pfannkuchenapfel
Registriert
18.12.06
Beiträge
1.407
Hallo! Da mir in meinem eigenen Thread niemand antworten möchte, bzw. er wohl untergegangen ist..

Wo liegt denn der Unterschied, ob ich ein Programm als Agent mit launchd starte oder es in den Startup-Items im Benutzer-Prefpane eintrage? Hat es irgendwelche Vorteile, abgesehen von Nice-Werteinstellungen etc.? Ich meine Performance-technisch?

Und noch eine andere Frage: Wenn ich für einen Agent ein Startinervall eingegeben habe, brauche ich dann noch "on demand"?

Um das Problem genauer zu erläutern:

Ich nutze den Backup-Dienst „Mozy“. Mein Problem damit ist, dass Mozy den Ruhezustand meines MacBook verhindert. Ich möchte ferner nicht darauf warten, bis die Entwickler das Problem beheben. Ich habe vor, ein Backup wöchentlich zu einer bestimmten Zeit durchzuführen und Mozy entsprechend konfiguriert.
Danach habe ich mir den User Daemon "com.mozy.backup" näher angeschaut und ihn so konfigurieren wollen, dass er etwa eine Minute vor der Zeit startet, an der das Backup durchgeführt werden soll. Entsprechend möchte ich, dass der Daemon nach erfolgreichem Backup beendet wird. Über watch-patch usw. scheint es nicht möglich zu sein, da die Dateien fortlaufend geändert werden und nicht eine Datei angelegt wird, sobald das Backup beendet ist.

Also möchte ich den Daemon nach einer gewissen Zeit beenden. Ich habe die "/Library/LaunchDaemons/com.mozy.backup.plist" wie folgt angepasst:

Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	[B]<key>ExitTimeOut</key>
	<integer>900</integer>[/B]
	<key>GroupName</key>
	<string>wheel</string>
	<key>Label</key>
	<string>com.mozy.backup</string>
	<key>OnDemand</key>
	<true/>
	<key>ProgramArguments</key>
	<array>
		<string>/Applications/Mozy.app/Contents/Resources/MozyBackup</string>
	</array>
	<key>RunAtLoad</key>
	<false/>
	<key>ServiceIPC</key>
	<false/>
	<key>StartCalendarInterval</key>
	<dict>
		<key>Hour</key>
		<integer>13</integer>
		<key>Minute</key>
		<integer>0</integer>
		<key>Weekday</key>
		<integer>2</integer>
	</dict>
	<key>UserName</key>
	<string>root</string>
</dict>
</plist>

Die Informationen dazu habe ich mir bei Apple besorgt.
Leider scheint das nicht zu funktionieren - was mache ich falsch? Oder gibt es eine elegantere Möglichkeit?
 
Zuletzt bearbeitet:

j33n5

Horneburger Pfannkuchenapfel
Registriert
18.12.06
Beiträge
1.407
Leute, was mach' ich falsch - warum kriege ich keine Antworten mehr?
 

j33n5

Horneburger Pfannkuchenapfel
Registriert
18.12.06
Beiträge
1.407
Danke! =)

Mozy wird nach einer gewissen Zeit einfach nicht beendet. Dafür sollte aber "<key>ExitTimeOut</key><integer>900</integer>" doch aber gut sein. Oh, ich habe vergessen, dass ich unter Tiger unterwegs bin - kann es sein, dass dieser key erst bei Leopard eingeführt wurde? Gibt es einen work-around?
 

MacMark

Jakob Lebel
Registriert
01.01.05
Beiträge
4.874
ExitTimeOut ist möglicherweise die Zeit, die der Beenden-Vorgang des Programmes hat. Nicht die Zeit, wie lange es laufen darf. Versucht sich das Programm zu beenden, wenn es fertig ist, bleibt aber als Zombie oder so dabei hängen, dann killt launchd es nach ExitTimeOut Sekunden.

Schau mal in die Logfiles, da stehen die Aktionen drin.

Wenn der Rechner beispielsweise runtergefahren wird und ein Prozeß bleibt hängen, dann wartet launchd die ExitTimeOut Zeit ab, bevor er ihn brutal abschiesst.
 

j33n5

Horneburger Pfannkuchenapfel
Registriert
18.12.06
Beiträge
1.407
Okay, danke erstmal bis hierhin. Ich kann in den Logs nichts aussergewöhnliches finden. Gibt es eine andere Möglichkeit den Prozess nach x Sekunden zu beenden mittels launchd?
 

MacMark

Jakob Lebel
Registriert
01.01.05
Beiträge
4.874
Einen kill/killall zum gewünschten Zeitpunkt starten lassen.
 

j33n5

Horneburger Pfannkuchenapfel
Registriert
18.12.06
Beiträge
1.407
Hm, ja.. das heißt Terminal. Launchd hat dafür also nichts direkt vorgesehen. Schade eigentlich. Dann muss ich mir so behelfen. Vielen Dank dafür!

Edit: Das Problem, welches sich dann stellt, ist, dass kill/killall ja über PID funktioniert und dass sich die wohl ändert, oder?
Ich muss wohl auf Mozy verzichten. Was soll's - es gibt ja auch noch DropBox, da funktioniert Einschlafen.
 
Zuletzt bearbeitet:

MacMark

Jakob Lebel
Registriert
01.01.05
Beiträge
4.874
Killall arbeitet mit dem Namen des Prozesses. Nutze einen weiteren Dämon, der ein Shellscript startet, welches mit killall arbeitet, um den vom anderen Dämon gestarteten Prozeß zu(r) gewünschten Zeit(en) zu beseitigen.
 

j33n5

Horneburger Pfannkuchenapfel
Registriert
18.12.06
Beiträge
1.407
Ja, habe ich auch gesehen.. Normalerweise sollte das doch aber auch im selben daemon möglich sein.. ich werd's versuchen.