Есть ли способ под Windows 7 эмулировать поведение символа &
в терминале OS X?
Я пытаюсь запустить несколько экземпляров Wget одновременно: я могу сделать это без проблем с сортировкой в OS X, потому что у меня есть скрипт Python, который создает длинную строку, в которой каждый экземпляр Wget разделен &. Когда я выполняю его с помощью os.system()
все идет хорошо.
Однако в Windows это не работает, и экземпляры запускаются последовательно. Что не то, что я хочу.
Я открыт для всех предложений: хаки cmd.exe
, порты оболочки, больше Python, что угодно, пока создаются новые окна оболочки Windows. Заранее спасибо!
Изменить: я обнаружил, что файлы на самом деле загружаются с помощью этого метода, но под Windows, cmd.exe
просто резко останавливает выполнение и позволяет пользователю принимать новые команды. Есть ли способ избежать этого и держать консоль "зависшей" до тех пор, пока все экземпляры Wget не завершат загрузку?
Редактировать 2: размещение кода, который я использую.
for track in album.tracks():
tracknum = track["track_num"]
tracktit = track["title"]
URL = track["file"]["mp3-128"]
filename = str(tracknum) + " - " + tracktit + ".mp3"
Теперь, под OS X, этот код прекрасно работает.
execstr += 'bandcamp-support' +os.sep+ 'wget --tries=0 -O"{}" "{}" -q & '.format(filename,URL)
os.system('bandcamp-support' +os.sep+ 'wget' execstr[:-3])
В Windows вместо этого это не повторяет поведение, которое я испытываю на OS X.
os.system('start /B bandcamp-support' +os.sep+ 'wget --tries=0 -q -O"{}" "{}"'.format(filename,URL))