Это не действительно ярлык, но просто быстрый доступ к системному меню: Alt-space E P
, Если можно использовать мышь, щелкает правой кнопкой по cmd работам окна как вставка, когда я попробовал его.
Я бы начал с того, чтобы лучше понять, что происходит с рабочим процессом. В модуле multiprocessing, если вам нужно, предусмотрена возможность ведения журнала для своих подпроцессов. Поскольку вы упростили код, чтобы сузить проблему, я бы просто отлаживал с помощью нескольких операторов печати, например так (или вы можете PrettyPrint массив pf ):
def process_all(pf):
print "PID: ", os.getpid()
print "Script Dir: ", pf[0]
print "Script: ", pf[1]
os.chdir(pf[0])
call(['postprocessing_saudi', pf[1]])
if __name__ == '__main__':
pool = Pool(processes=2)
files, paths = find_sea_files()
pathfile = [[paths[i],files[i]] for i in range(len(files))]
pool.map(process_all, pathfile, 1) # Ensure the chunk size is 1
pool.close()
pool.join()
Версия Python, которая у меня есть сделал это с помощью 2.6.4.
Я могу вспомнить несколько вещей:
1) Вы распечатали файлы пути? Вы уверены, что все они правильно сгенерированы?
a) Я спрашиваю, так как ваш os.walk немного интересен; каталоги. sort () должно быть в порядке, но кажется совершенно необоснованным. os.chdir () вообще не следует использовать; восстановление должно быть в порядке, но в целом вы должны просто добавить root в init.
2) Я видел, как многопроцессорность на python2.6 имеет проблемы с порождением подпорсов из пулов. (Я специально использовал сценарий, использующий многопроцессорность для создания подпроцессов. Эти подпроцессы не могли правильно использовать многопроцессорность (пул заблокирован)). Попробуйте python2.5 с резервным портом многозадачной обработки.
3) Попробуйте модуль cloud.mp picloud (который обертывает многопроцессорность, но обрабатывает пулы немного по-другому) и посмотрите, работает ли это.
Вы бы сделали
cloud.mp.join(cloud.mp.map(process_all, pathfile))
(Отказ от ответственности: я один из разработчиков PiCloud)
восстановление должно быть в порядке, но в целом вы должны просто добавить root в init.2) Я видел, как многопроцессорность на python2.6 имеет проблемы с порождением подпорсов из пулов. (Я специально использовал сценарий, использующий многопроцессорность для создания подпроцессов. Эти подпроцессы не могли правильно использовать многопроцессорность (пул заблокирован)). Попробуйте python2.5 с резервным портом многозадачной обработки.
3) Попробуйте модуль cloud.mp picloud (который обертывает многопроцессорность, но обрабатывает пулы немного иначе) и посмотрите, работает ли это.
Вы бы сделали
cloud.mp.join(cloud.mp.map(process_all, pathfile))
(Отказ от ответственности: я один из разработчиков PiCloud)
восстановление должно быть в порядке, но в целом вы должны просто добавить root в init.2) Я видел, как многопроцессорность на python2.6 имеет проблемы с порождением подпорсов из пулов. (В частности, у меня был сценарий, использующий многопроцессорность для создания подпроцессов. Эти подпроцессы не могли правильно использовать многопроцессорность (пул заблокирован)). Попробуйте python2.5 с резервным портом многозадачной обработки.
3) Попробуйте модуль cloud.mp picloud (который обертывает многопроцессорность, но обрабатывает пулы немного по-другому) и посмотрите, работает ли это.
Вы бы сделали
cloud.mp.join(cloud.mp.map(process_all, pathfile))
(Отказ от ответственности: я один из разработчиков PiCloud)
(Я специально использовал сценарий, использующий многопроцессорность для создания подпроцессов. Эти подпроцессы не могли правильно использовать многопроцессорность (пул заблокирован)). Попробуйте python2.5 с резервным портом многозадачной обработки.3) Попробуйте модуль cloud.mp picloud (который обертывает многопроцессорность, но обрабатывает пулы немного по-другому) и посмотрите, работает ли это.
Вы бы сделали
cloud.mp.join(cloud.mp.map(process_all, pathfile))
(Отказ от ответственности: я один из разработчиков PiCloud)
(В частности, у меня был сценарий, использующий многопроцессорность для создания подпроцессов. Эти подпроцессы не могли правильно использовать многопроцессорность (пул заблокирован)). Попробуйте python2.5 с резервным портом многозадачной обработки.3) Попробуйте модуль cloud.mp picloud (который обертывает многопроцессорность, но обрабатывает пулы немного по-другому) и посмотрите, работает ли это.
Вы бы сделали
cloud.mp.join(cloud.mp.map(process_all, pathfile))
(Отказ от ответственности: я один из разработчиков PiCloud)