Я работаю над программой, которая требует от меня отслеживать PID определенных экземпляров Chrome/браузера. Это код, который я написал для этого:Как отслеживать PID вкладки Chrome в Python?
def launch_procs():
low1 = Popen(['google-chrome-stable', 'http://www.google.com'])
med1 = Popen(['google-chrome-stable', 'http://www.netflix.com'])
high1 = Popen(['google-chrome-stable', 'http://www.facebook.com'])
return [low1.pid, med1.pid, high1.pid]
Однако при попытке сослаться на ИДП позже в программе, кажется, что ИДП истек. Здесь ошибка я получаю:
7894
strace: attach: ptrace(PTRACE_ATTACH, ...): No such process
7896
strace: attach: ptrace(PTRACE_ATTACH, ...): No such process
7901
strace: attach: ptrace(PTRACE_ATTACH, ...): No such process
Является ли проблема, что Chrome не назначает постоянный ИДП его вкладки/процессы (т.е. он порождает только процесс запусков и канаву Chrome родительского процесс)?
Примечание: Эта реализация является агностикой браузера/реализации, мне просто нужен способ получить стабильный доступ к PID этих запущенных процессов. Если у кого-то есть предложения по этому поводу, они будут очень оценены.
Спасибо!
Можно ли показать код, который вы имеете в виду «позже в программе»? – tijko
Поскольку это исследовательский код, мне не разрешено делиться этим, но я могу опубликовать наиболее релевантную часть: 'для pid в vm_list:' 'print (pid)' 'os.system ('sudo timeout 10 strace -p '+ str (pid) +' -o temp.out | cat temp.out | tail - '+ str (line_count) +'> '+ outfile) 'Vm_list должен быть PID, собранным из Chrome. Для каждого цикла я печатаю результаты strace в выходной файл и делаю некоторые вещи с ним. – bearface
Я не могу получить форматирование по какой-либо причине, мои извинения. – bearface