Установка имени процесса в Mac OS X во время выполнения

Я пытаюсь изменить имя своего процесса, как оно отображается в ps и Activity Monitor во время выполнения. Я нашел несколько заметок о том, что нет портативного способа сделать это (что меня не волнует).

Вот что я пробовал. Ни один из этих подходов у меня не сработал.

  • Изменение argv [0] (похоже, это способ пойти в некоторых системах Unix)
  • Вызов [[NSProcessInfo processInfo] setProcessName: @ "someName" ]
  • Вызов setprogname (вызов getprogname возвращает заданное мной имя, но это не имеет значения)

Я также читал о функции под названием setproctitle , которая должен быть определен в stdlib.h , если он доступен, но его там нет.

Должен быть способ сделать это, потому что QTKitServer - безликий декодер для QuickTime Player X - имеет соответствующий ему QuickTime Player. PID в имени процесса.

Кто-нибудь знает, как это сделать? Для этого я бы предпочел Core Foundation или POSIXy методам Objective-C.

Спасибо,

Marco

Edit: Если это хоть как-то уместно, я с использованием Mac OS X 10.6.5 и Xcode 3.2.5

19
задан Alex Brown 19 November 2010 в 09:41
поделиться