[Решено] Bash, Wine и Diablo II

Для сохранности файлов сохранений из Diablo II пытаюсь сделать так, чтобы каждый раз при выходе из игры они автоматом копировались в каталог Dropbox'a. Происходит это следующим образом: в меню openbox выбирается пункт, вызывающий скрипт
#!/bin/bash

cd ~/.wine/drive_c/Games/Diablo\ II/Diablo\ LoD\ GoW/LoD\ GoW/ &&
wine D2Game.exe -mpq Rus_Grapes_of_Wrath.mpq &&
cp -r ~/.wine/drive_c/Games/Diablo\ II/Diablo\ LoD\ GoW/LoD\ GoW/Save/ ~/data/Dropbox/comp/diablo2/
И все чудесно работает, но с одной маленькой оплошностью: игра только запустилась, а копирование уже произведено. Может, кто знает, почему игнорируется && и как достичь цели?
GitHub, ArchWiki, AUR
Видимо, вайн запускает ещё какой-то процесс, а сам благополучно умирает. Вам что-то такое надо (это псевдокод, для sh адаптируйте пожалуйста сами):

while (true) {
    sleep 5s
    if (pgrep diablo-process) {
        continue
    } else {
        cp
        break
    }
}
lampslave, об этом я думал, можно отследить по работающему wine. Но это ведь не Ъ, да и подтормаживания могут возникать. Оставлю это как крайний вариант.

А нельзя в скрипте сделать так, чтобы && относились в т.ч. и к процессам-потомкам?
GitHub, ArchWiki, AUR
На выходных был в гостях у друга, и совместными усилиями мы решили проблему. Вот запускающий скрипт:
#!/bin/bash

cd ~/.wine/drive_c/Games/Diablo\ II/Diablo\ LoD\ GoW/LoD\ GoW/ &&
wine D2Game.exe -mpq Rus_Grapes_of_Wrath.mpq
NEED=2
while [ "$NEED" -eq "2" ]
	do
		sleep 1
		ps aux | grep wine | grep -v grep 1>&- 2>&-
		NEED=`echo $?`
	done
cp -r ~/.wine/drive_c/Games/Diablo\ II/Diablo\ LoD\ GoW/LoD\ GoW/Save ~/data/Dropbox/comp/diablo2/
Влияние на загрузку ЦП во время игры в пределах одного процента
GitHub, ArchWiki, AUR
 
Зарегистрироваться или войдите чтобы оставить сообщение.