hosszan tartó művelet befejezésének jelzése nomád módon

Egy headless gépen kellett két merevlemez közt nagy mennyiségű adatot mozgatnom (paraszt backup). A gépben sem hangkártya, sem alaplapi beeper nincs, viszont valahogy szerettem volna, ha nem kell a terminált nézegetni, hogy mikor végez a másolás (amúgy sem érdemes mert a cp kimenetét elnyeletem egy logba)

Írtam hát egy pársorost:

#!/bin/bash

while true;
do
if ps -C cp > /dev/null;
then
sleep 1
else
eject
eject -t
eject
eject -t
exit 0
fi
done

Ha kész a másolás, kétszer kinyit-becsuk a dvd meghajtó :)
Biztos lehetne elegánsabban, meg akár egysorossal, de most erre futotta a kreativitásból.

Hozzászólások

A folyamatok szinkronizálására a "while true + ps + sleep" mellett létezik még néhány beépített megoldás!
Pl.
- & + wait
- a cp után is be lehet írni parancsot, amely a cp után fut le ...

Szerintem lemaradt a done.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE