Ein Skript, das Multithreads mit bash / batch und nconvert verwendet

563
nwgat

Ich habe über 500 (50MB) .TIF-Dateien und möchte sie in .png konvertieren. Ich habe Nconvert ausprobiert und finde es funktioniert, aber es gibt kein Multithreading. Gibt es eine einfache Möglichkeit, dies in einem Bash- oder Batch-Skript auszuführen?

vorzugsweise Fenster, aber Cygwin wird funktionieren

0
Sie können ein Powershell-Skript schreiben, aber Multithreading ist eine nicht triviale Aufgabe. http://www.get-blog.com/?p=22 Frank Thomas vor 10 Jahren 0
In Bash ist es sehr einfach, einen Prozess in einem anderen Thread zu starten, aber es ist viel schwieriger, den Status der Threads zu verfolgen. Wenn Sie damit einverstanden sind, rufen Sie einfach nconvert auf und setzen Sie ein '&' am Ende des Befehls. Dadurch wird es im Hintergrund ausgeführt. Das einzige Problem ist, dass Sie keine einfachen Signale erhalten, dass die Aufgabe erledigt ist. Daher können Sie die Anzahl der Threads, die gleichzeitig ausgeführt werden, effektiv einschränken. Möglicherweise müssen Sie sie in Blöcken von 25 oder etwas verarbeiten, um zu verhindern, dass Hunderte von Threads gestartet werden, die alle miteinander um die Ausführungszeit kämpfen. Frank Thomas vor 10 Jahren 0

1 Antwort auf die Frage

1
Adrian Frühwirth

Sie könnten verwenden, gnu-parallelwas unter Cygwin funktioniert. Hier finden Sie eine vollständige Liste von Beispielen, wie Sie diese verwenden können.