Wie kann ich im Aktivitätsmonitor einen Dienst von einem Prozess unterscheiden?

Gibt es eine Möglichkeit festzustellen, ob ein im Aktivitätsmonitor aufgeführter Eintrag ein Dienst (Daemon) oder ein Prozess (Anwendung) ist?

Beispiele:

  • Firefox (Anwendung)
  • com.apple.audio.SandboxHelper (Daemon?)

Gibt es eine gute Definition dessen, was diese Begriffe (die ich lose verwende) in OS X bedeuten?

Was willst du machen, wenn du den Unterschied kennst? Dienstleistungen sind oft für den übergeordneten Bewerbungsprozess von wesentlicher Bedeutung.
Ich versuche nur, die Architektur zu verstehen.
Können Sie bitte eine neue Frage stellen : Muss die Anwendung auf eine bestimmte Weise erstellt werden (z. B. keine Benutzeroberfläche, bestimmte Schnittstellen implementieren), damit sie als Dienst verwendet werden kann? „ Ask Different“ funktioniert am besten, wenn jede Frage separat gestellt wird. Fühlen Sie sich frei, in Ihrer neuen Frage auf andere Fragen zu verweisen.

Antworten (2)

Alle Prozesse, hierarchisch

Activity Monitor kann die Prozesshierarchie anzeigen:

Activity Monitor.app > Ansicht (Menü) > Alle Prozesse, hierarchisch

Die Gruppierung zeigt die Prozesse, die von einem anderen Prozess gestartet wurden. Typischerweise sind untergeordnete Prozesse Dienste des übergeordneten Prozesses. Unter macOS sind viele dieser untergeordneten Prozesse XPC-Instanzen.

Dienste sind Prozesse

Unter macOS sind Daemons Prozesse und Dienste Prozesse. In Ihrem Beispiel com.apple.audio.SandboxHelperist dies ein XPC-Dienst .

Warum kernel_tasklaufen alle Prozesse (außer ) als Kinder von launchd?
Dies wäre eine großartige neue Frage . Der Root-Prozess in macOS ist launchdund Apple hat beschlossen, fast jeden Prozessstart durch ihn zu führen. Ich vermute, es hat viele Vorteile, aber diese können in einer neuen Frage diskutiert werden.

Technisch gesehen ist alles, was geladen und ausgeführt wird, ein Prozess; Eine Dienstleistung ist also ein Prozess.

Ein Dienst ist eine differenzierte Definition von etwas, das geladen wird, um einen Dienst wie DHCP oder DNS bereitzustellen.

Eine alternative Möglichkeit, dies zusammenzufassen, lautet: Alle Dienste sind Prozesse, aber nicht alle Prozesse sind Dienste . Ein Beispiel wäre Firefox, es ist ein Prozess, aber kein Dienst – es ist eine Anwendung.