Используйте функцию встроенного getattr
, чтобы получить атрибут объекта по имени. Измените имя по мере необходимости.
obj.spam = 'eggs'
name = 'spam'
getattr(obj, name) # returns 'eggs'
Скорее всего (это предположение, так как вы не включили в вопрос свою конфигурацию launchd), вы не передаете супервизору аргумент -n
, чтобы предотвратить самодемонизацию из конфигурации launchd.
Когда основной PID программы завершается, launchd рассматривает оставшиеся процессы, связанные с сиротами, и очищает их.
Чтобы избежать этого, никогда не настраивать программное обеспечение, работающее в системе наблюдения, для самостоятельного демонизации, если только эта система наблюдения явно не поддерживает отслеживание дочерних элементов и не настроена на это.