3 votos

¿usted me puede ayudar con este sencillo ' ulimit '?

Tengo un programa bucle infinito mal codificado que quiero ejecutar en la línea de comandos - pero no para siempre. Quiero usar ulimit por lo que si coloca para siempre, es cortar.

Lo intento:

$> bash -c "ulimit -t 1; java myinfloopprogram"

pero es como si nada está pasando. ¿Lo que está pasando, es mi comando de línea de comandos incorrecta? myinfloopprogram funciona muy bien.

Estoy corriendo un terminal y la version es Ubuntu 9.10.

6voto

James Puntos 5362

¿Es el bucle del programa usando CPU?

-t es para CPU, el tiempo no pared reloj, así que si tu programa realmente no utiliza ningún tiempo de CPU no mató.

1voto

mblsha Puntos 305

ulimites probablemente no lo necesitas. Necesita a algún tipo de característica de tiempo de espera de bash. No hay que nada construido en bash, pero hay unos scripts flotando para hacer esto. por ejemplo, http://stackoverflow.com/questions/687948/timeout-a-command-in-bash-without-unnecessary-delay

0voto

hughdbrown Puntos 15770

Tal vez intente algo como esto en su lugar:

java myinfloopprogram &
pid=$!
for i in $(seq 1 60); do
    kill -0 $pid >/dev/null || break
    sleep 1
done
kill -0 $pid >/dev/null || kill -TERM $pid

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: