• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Das neue Jahr beginnt wie das alte - natürlich mit einem neuen Fotowettbewerb! Auch im Monat Januar freuen wir uns auf Eure Einsendungen. Wie es weitergeht, wisst Ihr ja - Hier geht es lang --> Klick

Daemon-Programm vom automatischen Start ausschließen

rakader

Leipziger Reinette
Registriert
29.10.06
Beiträge
1.774
Moin zusammen,

wir haben einen Gruppen-Drucker mit Kartenlseser, der mittels eines Daemons mit einer kleinen GUI angesteuert wird (Q-Pilot Client GUI). Beendet man das Programm, startet es sofort neu. Da ich öfter extern arbeite, möchte ich den automatischen Start dieses Programms unterbinden. (Jedesmal deinstallieren wäre zu viel des Guten.)

Gibt es dazu einkleines Helferlein oder lässt sich das mittels Automator lösen?

Danke vorab für Eure Anregungen.
 

Rastafari

deaktivierter Benutzer
Registriert
10.03.05
Beiträge
18.150
Zuerst musst du mal ermitteln, von wo aus das Programm überhaupt aufgestartet wird.
Sieh zunächst mal in die Aktivitätsanzeige, ob es unter "deinen" Prozessen aufgelistet ist (dein Benutzername), oder unter den "Systemprozessen" (unter dem root-Account). Oder gar doppelt - unter beiden.
 

rakader

Leipziger Reinette
Registriert
29.10.06
Beiträge
1.774
Vielen Dank für diese ersten Schritte. Das Programm ist unter meinem Nutzer gelistet.

Edit: Soweit ich verstehe, nutzt das GUI Java:
Der Prozess Java unter Frameworks System/Library/ JavaVM.framework löst den Start aus.

Analysis of sampling java (pid 228) every 1 millisecond
Process: java [228]
Path: /usr/bin/java
Load Address: 0x103635000
Identifier: com.apple.javajdk16.cmd
Version: 1.0 (1.0)
Code Type: X86-64 (Native)
Parent Process: launchd [162]


OS Version: Mac OS X 10.8.2 (12C60)
Report Version: 7
 
Zuletzt bearbeitet:

Rastafari

deaktivierter Benutzer
Registriert
10.03.05
Beiträge
18.150
Wirf mal einen Blick in den Ordner /Library/LaunchAgents
Dort sollte es recht überschaubar zugehen und daher nicht schwer sein, anhand des "Reverse DNS" Namensschemas den Übeltäter zu erkennen.
(Grundsätzlich: Domain.Company.Produkt.plist, quasi wie eine URL im Browser, nur eben rückwärts)

Diese in simplem XML gehaltenen plist-Files sind gewissermassen die einzelnen Einträge eines "Taskplaner"-Dienstes.
Unter den "LaunchAgents" liegen dabei die Jobs die pro angemeldetem Benutzer, und auch unter deren Konto ausgeführt werden.
In dem am gleichen Ort liegenden Ordner "LaunchDaemons" befinden sich Dateien nach dem gleichen Muster, das sind aber die Jobs die schon während des Systemstarts angeworfen werden und die für gewöhnlich bis zum Herunterfahren des Rechners auch aktiv bleiben, egal ob und wieviele User angemeldet sind. Das sind Jobs, die ohne direkte Benutzerinteraktion im Hintergrund unter dem root-Konto laufen (zu dieser Sorte gehören die fundamentalen Systemdienste wie zB die Dateifreigabe, Time Machine oder die Firewall).

Diese plist's sind nicht das Programm selbst, sie sind nur die Datensätze mit denen definiert wird, ob, wann, wie, wie häufig, wie lange und unter welchen bestimmten Bedingungen irgendein Programm/Skript bei jeder Anmeldung eines beliebigen Benutzers automatisch gestartet, oder manchmal auch automatisch permanent aktiv gehalten wird. (Das Programm selbst hingegen kann sich überall befinden, der genaue Ort ist jeweils in der plist festgehalten.)

Das ständige Neustarten des Programms wird durch einen optionalen Schlüssel namens "KeepAlive" in der plist gesteuert, und das scheint für deinen Hintergrundjob aktiviert zu sein. Wenn ich dich richtig verstanden habe willst du nur diesen ständigen "respawn" unterbinden, und nicht etwa das Programm völlig abwürgen, so dass es gar nicht mehr von alleine lädt. Richtig?
Das heisst du brauchst nichts weiter zu tun als diesen einen Schlüssel von "true" auf "false" umzustellen - was du später jederzeit wieder umkehren kannst.

Nehmen wir mal an, dein identifizierter Plagegeist nennt sich com.brainsoft.printctl.plist
Da denkst du dir jetzt das plist-Suffix vom Namen weg, und gibst den Pfad zu dieser Datei immer als voll ausgeschriebenen absoluten Pfad an.
Code:
sudo defaults write  /Library/LaunchAgents/com.brainsoft.printctl  KeepAlive -bool NO
'sudo' will dein Admin-Kennwort. Ab der nächsten Sitzung wird das ganze wirken.

Noch'n Hinweis:
Solltest du dort deinen Übeltäter nicht finden können, dann wurde er womöglich nicht für alle Benutzer, sondern nur speziell für dein eigenes Konto installiert. In diesem Fall läge die Datei im gleichnamigen Ordner in der privaten Library (in deinem Benutzerordner).
Das Kommando ist bis auf den zu korrigierenden Pfad identisch, mit einer kleinen Ausnahme:
Da die Dateien in deinem eigenen Ordner dir selbst gehören und nicht root, kannst und sollst du sie auch ohne seine besondere Macht bearbeiten. Im Klartext heisst das, dass das "sudo" ganz zu Beginn weggelassen werden kann (genauer: weggelassen werden muss) - ein Kennwort braucht es dann auch nicht dafür.