как я получаю список процессов в Python?

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

, Поскольку другие сказали с большим количеством маленьких файлов, Ваше реальное узкое место производительности будет вводом-выводом, таким образом, проблема имеет дело с этим. Если Вы развесите еще несколько деталей, то кто-то, вероятно, предложит способ уладить это также.

7
задан olibre 14 November 2013 в 13:08
поделиться

3 ответа

В Linux самым простым решением, вероятно, является использование внешней команды ps :

>>> import os
>>> data = [(int(p), c) for p, c in [x.rstrip('\n').split(' ', 1) \
...        for x in os.popen('ps h -eo pid:1,command')]]

В других системах вам, возможно, придется изменить параметры на ps .

Тем не менее, вы можете запустить man на pgrep и pkill .

2
ответ дан 6 December 2019 в 21:18
поделиться

Почему Python?
Вы можете напрямую использовать killall в имени процесса.

-2
ответ дан 6 December 2019 в 21:18
поделиться

В Linux с подходящей последней версией Python, которая включает модуль подпроцесса :

from subprocess import Popen, PIPE

process = Popen(['ps', '-eo' ,'pid,args'], stdout=PIPE, stderr=PIPE)
stdout, notused = process.communicate()
for line in stdout.splitlines():
    pid, cmdline = line.split(' ', 1)
    #Do whatever filtering and processing is needed

Вам может потребоваться немного изменить команду ps в зависимости от ваших конкретных потребностей.

7
ответ дан 6 December 2019 в 21:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: