Почему вы не можете использовать опции ps
в качестве базовой линии?Конечно, вам все еще нужно обработать значение cmd, чтобы увидеть, имеет ли начальный символ '/' или нет.Что-то вроде
ps -o pid,env,cwd,cmd | grep youAppName | awk -f programToRationalizePathName
У меня больше нет доступа к AIX, но я работал над ним 2 с половиной года, и я знаю, что использовал эту функцию.Я не думал, что это было медленно, но у меня могли быть другие требования, чем у вас.
У меня сложилось впечатление, что вам нужна служебная функция, вызов по одному, который возвращает полный путь, но если вам нужен постоянный процесс и вас беспокоит перезапуск ps каждую 1 минуту (например), посмотрите на специфическую для AIX утилиту nmon.Не уверен, что он может генерировать вывод, подобный ps -o cmd
, но его можно настроить так, чтобы он работал столько, сколько вы хотите, так часто, как вы хотите (с интервалом до 1 секунды), и это всего лишь один процесс, вывод которого может бытьперенаправляется по мере необходимости.(Nmon не является частью установки std, но большинство организаций ее устанавливают, поскольку она благословлена IBM (если не поддерживается напрямую)).
Конечно, все «не 100%» предостережения применяются изпохожие вопросы, упомянутые вами и в комментариях.
Надеюсь, это поможет.