Wenn ein von Launchd verwalteter Prozess (wie Ihr Skript) beendet wird, werden durch Launchd alle verbleibenden Unterprozesse "bereinigt" (dh beendet). Ich bin mir der Details nicht sicher, aber anscheinend kann dies etwas enthalten, das / usr / bin / mail im Hintergrund abbrennt, um die Nachricht zu senden. In meiner Erfahrung tötet launchd es normalerweise, bevor es die Nachricht beendet. Lösung: weisen Sie launchd an, verbleibende Unterprozesse nicht zu töten, indem Sie dies dem Startdämon plist hinzufügen:
<key>AbandonProcessGroup</key> <true/>