Servus miteinand!
Ich bastle gerade (etwas länger...) an einem Skript, mit dem ich gewisse Befehle mit s-tui benchmarken will. Grundsätzlich werden der Befehl und direkt dahinter s-tui in einem separaten Terminal Fenster ausgeführt (andersherum will nicht). Der while loop soll dafür sorgen, dass solange der erste Befehl noch aktiv ist, nicht unternommen werden soll.
Sieht derzeit folgendermaßen aus:
Die
Ich bastle gerade (etwas länger...) an einem Skript, mit dem ich gewisse Befehle mit s-tui benchmarken will. Grundsätzlich werden der Befehl und direkt dahinter s-tui in einem separaten Terminal Fenster ausgeführt (andersherum will nicht). Der while loop soll dafür sorgen, dass solange der erste Befehl noch aktiv ist, nicht unternommen werden soll.
checkcp
gibt währenddessen cp
an, endet dieser erscheint grep
und der loop sollte eigentlich erst dann enden, s-tui beenden und das Skript schließen. Mit letzterem sollte ich auch die Dauer des ersten Befehls erhalten.Sieht derzeit folgendermaßen aus:
Bash:
#!/bin/bash
FSTYPE=ext4
cp -r dasda dahin &
kitty -c NONE s-tui --csv-file ~/Downloads/cptest/cp_$FSTYPE.csv &
sleep 3
checkcp=$(ps aux | grep -w "cp" | awk 'NR==1 {print $11}')
while [[ $checkcp == "cp" ]] ; do
echo "It's there"
if [[ $checkcp != "cp" ]] ; then
break
fi
pkill s-tui
echo "Not there"
sleep 1
done
exit 1
Die
echo
Befehle habe ich drin, um feststellen zu können, wo es hakt. Mit unterschiedlichen Varianten (break/continue - while :\n do\n if\n usw.) habe ich entweder beides direkt hintereinander wiederholend oder nur zweiteres wiederholend. s-tui wird beendet, aber praktisch sobald sleep 3
abgeschlossen ist, also der loop im Grunde nicht wartet.checkcp
passt hingegen, ich habe keine Ahnung, woran es liegen kann. Weiß jemand eine bessere Option?
Zuletzt bearbeitet: