[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: ssh und maximale Laufzeit definieren
[Thread Prev] | [Thread Next]
- Subject: Re: ssh und maximale Laufzeit definieren
- From: Markus Hochholdinger <Markus@xxxxxxxxxxxxxxxxx>
- Date: Tue, 21 Oct 2008 13:17:01 +0200
- To: uugrn@xxxxxxxxxxxxxxx
Hi Michael,
Am Samstag, 18. Oktober 2008 04:11 schrieb Michael Lestinsky:
> Am 17.10.2008 schrieb Markus Hochholdinger:
> > Jetzt frage ich mich (google wusste (noch) keine Antwort) ob es ein
> > Programm in der Form wie z.B. time oder nice gibt, welchem man eine
> > maximale Laufzeit fuer ein auszufuehrendes Programm mitgeben kann.
> > Wunschvorstellung waere: maxruntime -n 120 ssh .. .. ..
> Das laesst sich doch mit ein paar kleinen Zeilen C schnell loesen. Als
> kleine Hausaufgabe kannst du ja dieses Codefragment vervollstaendigen:
vielen Dank. Allerdings hatte ich gehofft dass es soetwas schon fertig und
erprobt gibt. Vorallem die Umleitungen von stdin/stdout und stderr muss man
ja auch beachten und dass ssh auch wirklich beendet wird.
Da ich in C nicht so viel mache wie in der Shell und da diese Aufgabe nicht
performant sein muss habe ich es mit einer bash-Funktion geloest:
----------8<---------------------------------------
ssh-Deadline() {
# default deadline in seconds
SSHDEADLINE="${SSHDEADLINE:-30}"
# start ssh
ssh $SSHOPTIONS "$@" &
# remember pid
local PID="$!"
# loop till deadline is reached
for SSHCOUNTDOWN in $(seq 1 "$SSHDEADLINE")
do
# check if ssh is finished
if [ ! -d "/proc/$PID" ]
then
# get exit status from ssh
wait "$PID"
# return this function with exit status from ssh
return
fi
# wait one second
sleep 1
done
# if ssh is still running, try to kill it
test -d "/proc/$PID" && (kill "$PID"; sleep 1)
# if ssh is still running, try to kill -9 it
test -d "/proc/$PID" && (kill -9 "$PID")
# return this function with exit status from ssh
wait "$PID"
}
---------->8---------------------------------------
Trotzdem Danke fuer Deinen C-Code.
--
Gruss
\|/
eMHa (o o)
------------------------------------------------------oOO--U--OOo--
Markus Hochholdinger
e-mail mailto:Markus@xxxxxxxxxxxxxxxxx .oooO
www http://www.hochholdinger.net ( ) Oooo.
------------------------------------------------------\ (----( )-
\_) ) /
(_/
--
http://mailman.uugrn.org/mailman/listinfo/uugrn
Wiki: http://wiki.uugrn.org/wiki/UUGRN:Mailingliste
Archiv: http://lists.uugrn.org/