So in einem Cluster ich an einem Drehbuch zu arbeiten und ich brauche dies auszuführen:Run mehrere Zeilen gleichzeitig bash
convert_fastaqual_fastq.py -f ITS_C1-5_rRNA.fq -c fastq_q_to_fastaqual
convert_fastaqual_fastq.py -f ITS_C3-2_rRNA.fq -c fastq_q_to_fastaqual
convert_fastaqual_fastq.py -f ITS_C3-3_rRNA.fq -c fastq_q_to_fastaqual
convert_fastaqual_fastq.py -f ITS_C3-5_rRNA.fq -c fastq_q_to_fastaqual
convert_fastaqual_fastq.py -f ITS_C4-5_rRNA.fq -c fastq_q_to_fastaqual
convert_fastaqual_fastq.py -f ITS_C5-1_rRNA.fq -c fastq_q_to_fastaqual
convert_fastaqual_fastq.py -f ITS_C5-4_rRNA.fq -c fastq_q_to_fastaqual
convert_fastaqual_fastq.py -f ITS_C5-5_rRNA.fq -c fastq_q_to_fastaqual
Wie Sie sehen können, jede Zeile ist anders und jede Zeile nimmt wie 2 Tage zu laufen. Der Befehl, was es tut, ist ein Sample in zwei verschiedene Formate zu transformieren, tut es aber von Probe zu Probe. Was ich will ist, dass wenn ich das Skript ausführen alle Proben zur gleichen Zeit gleichzeitig ausgeführt werden.
Eine unansehnliche Lösung wäre, eine Datei für jedes Sample zu generieren und sie einzeln auf separaten CPUs im Cluster auszuführen. Ich möchte, dass ein einzelner Job gleichzeitig parallel läuft.
Danke!
Sie können verschiedene Prozesse generieren. Das Anhängen von '&' am Ende jeder Zeile sollte der richtige Weg sein. Wenn Sie Protokolle jeder Instanz verfolgen möchten, sollten Sie sich das 'nohup'-Dienstprogramm ansehen. – ddnomad
sollte ich am Ende ein "warten" hinzufügen? –
konsultieren Sie den Autor einer vollständigen Antwort unten. Persönlich sehe ich keine Notwendigkeit in "warten", aber ich kann etwas verpassen. – ddnomad