2011-01-31 2 views
2

Я создаю softkeyboard для android, чтобы поиграть с ptrace(). Я хотел бы установить идентификатор процесса исправления для приложения, которое я сделал. Возможно ли это для того, чтобы я мог играть в приложение Android с помощью ptrace()?Можно ли установить идентификатор процесса установки для приложения Android?

+2

Вы можете 'fork()' в цикле, проверяющем 'getpid()', пока вы не получите нужный pid и надеетесь, что другой процесс в системе не использует его. :) (Лучше было бы найти pid вашего процесса _after_, вы его начали и приложите к этому.) – sarnold

+1

Да, вы должны поступать так, как говорит sarnold. Вы можете найти PID программно, выполнив команду ** ps ** shell и фильтруя вывод на основе имени пакета вашего приложения. –

+0

Я пробовал это, но я хотел бы исправить программу, не нужно ее менять ... Поэтому я хочу исправить идентификатор процесса. Я хочу использовать его в телефоне Android. – OceanNights

ответ

5

Вы не можете этого сделать. Обычный подход заключается в том, чтобы ваше приложение записывало свой идентификатор процесса в файл при его запуске; другое приложение может затем прочитать этот файл.

+2

+1. Бао, то, о чем вы просите, не имеет смысла. Пусть такая функциональность существует. Что произойдет, если PID используется? Если ваша программа не может быть запущена? Следует ли убить текущую программу с помощью PID? Ни один из вариантов не кажется очень разумным. Если бы такая функция существовала, хаос, безусловно, быстро обеспечивал бы эту операционную систему. –

+0

Согласен. Не имеет смысла исправлять идентификатор процесса для приложения. Его решение ОС назначить PID для процесса, и это должно оставаться таким же, как в большем интересе пользователя пространства! – TheCottonSilk

+0

Хорошо, спасибо, ребята, девочки ... Теперь я это знаю ... Еще раз спасибо ... – OceanNights

Смежные вопросы