Das folgende Problem will ich mit einem Unix-Shell-Programm lösen:
- Eine Rechnung soll in einem bestimmten Folder per Commandozeile gestartet werden.
- Sobald ein termination file geschrieben wurde soll die gleiche Rechnung in einem anderen Order (mit anderen Eingabevariablen) erneut gestartet werden.
usw.
Frage: ist das einfach möglich? Gibt’s irgendwo Anleitungen dazu oder hat jemand ein entsprechendes script fertig?
Danke schon mal!
Halllo,
- Eine Rechnung soll in einem bestimmten Folder per
Commandozeile gestartet werden.
cd /dir/where/you/want
- Sobald ein termination file geschrieben wurde soll die
gleiche Rechnung in einem anderen Order (mit anderen
Eingabevariablen) erneut gestartet werden.
usw.
Hm. Kannst du nicht einfach warten bis sich das Programm, dass die Berechnung macht, terminiert?
Frage: ist das einfach möglich? Gibt’s irgendwo Anleitungen
dazu oder hat jemand ein entsprechendes script fertig?
Ein Schuss ins Blaue (nicht getestet)
Datei waitfor:
#!/bin/bash
#muss im PATH liegen
while true; do sleep 1; [-e "$1"] && exit; done
das eigentliche Skript:
#!/bin/bash
for f in $directories
do cd $f
calculate\_whatever
waitfor $termination\_file
done
HTH,
Moritz
Hi
Das folgende Problem will ich mit einem Unix-Shell-Programm
lösen:
- Eine Rechnung soll in einem bestimmten Folder per
Commandozeile gestartet werden.
- Sobald ein termination file geschrieben wurde soll die
gleiche Rechnung in einem anderen Order (mit anderen
Eingabevariablen) erneut gestartet werden.
usw.
Ich verstehe Dein Problem nicht ganz.
Mach es doch so einfach wie möglich.
Schreib doch einfach die Jobs in ein
Shell-script.
$rundir\> du
/rundir/--+-jobdir\_1
|
+-jobdir\_2
|
+-jobdir\_3
|
+-jobdir\_4
$rundir\> cat runjobs.sh
#!/bin/bash
# definiere parameter
params\_1="1 2 3 4 hello 5"
params\_2="3 5 1 3 5 hello"
params\_3="5 2 1 3 5 hello"
params\_4="3 5 1 6 hello 9"
# starte ersten bis letzten job
for i in `seq 1 4` ; do
param=params\_${i};
cd jobdir\_${i} ; rechnung.686 ${param} ; cd ..
done
$rundir\> ./runjobs.sh \>& logfile &
wenn der Job nach dem Ausloggen laufen soll,
machst Du:
$rundir\> nohup ./runjobs.sh \>& logfile
Gänge das nicht?
CMБ