On 29.03.2015 13:17, Daniel Leidert wrote: > Am Freitag, den 05.12.2014, 20:03 +0100 schrieb Andre Klärner:
Moin, >> Ich habe genau das folgende Script im Einsatz: >> >> /etc/pm/sleep.d/01_prevent_on_rsync: >> #!/bin/bash >> if ps -ef | grep -q "[rs]ync --server" >> then >> exit 1 >> else >> exit 0 >> fi > > Nach langem komme ich nun dazu, das mal zu probieren. Dabei bin ich > darauf gekommen, dass der Ausdruck immer wahr ist und das Skript daher > immer den Exit-Code 1 produziert und Suspend quasi immer ausgeschaltet > ist. Das Kommando: > >> ps -ef | grep -q "[rs]ync --server" > > ist immer wahr: > >> # ps -ef | grep "rdiff-backup --server" >> root 29456 29455 0 13:02 ? 00:00:00 /usr/bin/sudo >> /usr/bin/rdiff-backup --server --restrict-read-only / >> root 29457 29456 1 13:02 ? 00:00:08 /usr/bin/python >> /usr/bin/rdiff-backup --server --restrict-read-only / >> root 31262 24648 0 13:14 pts/2 00:00:00 grep rdiff-backup --server >> # ps -ef | grep "rdiff-backup --server2" >> root 31264 24648 0 13:14 pts/2 00:00:00 grep rdiff-backup --server2 > > da es auf sich selbst zutrifft. > > Die Idee ist aber sicher die richtige. Ich habe den Ausdruck etwas > verändert und teste jetzt. > Sicher einen Race-Condition. Es kann sein, daß das ps schon terminiert hat, wenn grep -q zuschlägt, muß aber nicht. Ich würde einfach schreiben: ps -ef | grep -v ps | grep -q "[rs]ync --server" H. -- sigfault _______________________________________________ Lug-dd maillist - [email protected] https://ssl.schlittermann.de/mailman/listinfo/lug-dd
