shell - spusteni prikazu s timeoutem

Zdenek Zikan xzikan na fi.muni.cz
Čtvrtek Září 29 11:47:59 CEST 2005


Karel Charousek wrote:
> Ahoj,
> 
> poradi nekdo nejaky zpusob jak spustit prikaz z shellu s timeoutem?
> Tedy pokud prikaz neskonci do nejake doby, tak 'spoustec'
> skonci ( vrati nejakou navratovou hodnotu) a shell pokracuje dal.
> Jestli ma 'spoustec' spusteny prikaz ukoncit nebo nechat bezet je jedno.
> napr. spoustec -t 30 'prikaz'

Pokud to bude stacit:

#!/bin/bash
TIMEOUT=$1
PRIKAZ=$2
$PRIKAZ & PID=$!
sleep $TIMEOUT
kill $PID

Pochopitelne musite predpokladat, ze kill $PID to zabije. Pokud byste 
chtel osetrit i situaci, ze se program nenecha ukoncit, muzete za ten 
kill pridat treba

sleep 60
ps $PID > /dev/null && kill -9 $PID


Zdenek Zikan


Další informace o konferenci Linux