Para los administradores de sistemas que son responsables de controlar los servidores Linux, la administración de recursos es una tarea importante de la que deben ocuparse. A veces, los comandos de Linux ocupan una gran parte de los recursos del sistema y deben detenerse.
Afortunadamente, puede limitar el tiempo de ejecución de sus comandos utilizando utilidades como límite de tiempo. En este artículo, discutiremos por qué debe agregar límites de tiempo a sus comandos y cómo agregar una restricción de tiempo utilizando comandos como timeout y timeout.
¿Por qué limitar el tiempo de ejecución de un comando?
Hay varias razones por las que es posible que deba ejecutar sus comandos con un límite de tiempo. En primer lugar, es posible que esté ejecutando una computadora más antigua o un servidor y no desee que su sistema desperdicie sus recursos en un procesamiento no deseado.
En segundo lugar, las tareas de duración determinada, como las transferencias de archivos, finalizan después de un período determinado, pero sus procesos no se detienen de inmediato. Para evitar que el programa ocupe tiempo de CPU y memoria adicionales, puede agregar un límite que detendrá el proceso una vez que se complete la transferencia.
Agregar límite usando el comando de tiempo de espera
El comando de tiempo de espera es la primera opción de muchos usuarios de Linux para agregar una restricción de tiempo a sus comandos. Dado que esta herramienta es parte del Utilidades principales de GNU paquete, viene preinstalado en casi todas las distribuciones de Linux.
La sintaxis básica del comando timeout es:
comando de límite de tiempo de espera
...dónde límite es la cantidad de tiempo que debe ejecutarse el comando y mando es el comando de Linux que desea ejecutar con un límite de tiempo.
Por ejemplo, si desea obtener detalles del proceso mediante el cima comando durante 10 segundos:
tiempo de espera 10 segundos arriba
El comando superior es interminable y debe salir manualmente usando Ctrl + C. El comando antes mencionado se ejecutará en la parte superior durante 10 segundos y una vez que se acabe el temporizador, el tiempo de espera detendrá su ejecución. Tenga en cuenta que el tiempo de espera toma segundos como la unidad de tiempo predeterminada, lo que significa 10 y 10 s son lo mismo.
También puedes usar metro, h, y D por minutos, horas, y dias respectivamente.
Enviar señales de desactivación manualmente con tiempo de espera
De forma predeterminada, el comando de tiempo de espera envía SIGTERM como señal de interrupción. SIGTERM significa Terminación de señal, que termina el proceso de inmediato.
También puede enviar otras señales utilizando el -s bandera. Por ejemplo, para enviar la señal SIGKILL:
tiempo de espera -s SIGKILL 10 arriba
También es posible especificar la señal con su número de señal. El siguiente comando también envía la señal SIGKILL al comando superior.
tiempo de espera -s 9 10 arriba
...dónde 9 es el número de señal de SIGKILL.
Para obtener una lista de todas las señales disponibles:
matar -l
Algunos comandos no se detienen por completo incluso después de agregar un límite de tiempo. En tales situaciones, agregar una señal de interrupción con el comando de tiempo de espera predeterminado soluciona el problema.
tiempo de espera -k 15 10 arriba
El comando antes mencionado primero ejecutará el comando superior durante 10 segundos, y si el comando no se detiene, enviará una señal de interrupción al proceso después de 15 segundos.
Aprende más: Cómo eliminar programas que no responden en Linux
Restringir el tiempo de ejecución del comando con timelimit
A diferencia del comando timeout, timelimit no es uno de los paquetes estándar que vienen preinstalados en las distribuciones de Linux. Por lo tanto, tendrá que instalar timelimit manualmente en su sistema.
Para instalar en distribuciones basadas en Debian:
sudo apt install timelimit
Timelimit no está disponible en los repositorios oficiales de Arch. Pero puedes instalarlo usando un administrador de paquetes AUR como Hurra.
sudo yay -S timelimit
Relacionados: Cómo instalar paquetes en Arch Linux
Para instalar en Fedora:
sudo dnf install timelimit
En RHEL y CentOS:
sudo yum install timelimit
Alternativamente, si aún no puede instalar el paquete en su sistema, descargue el código fuente del sitio web oficial e instálelo manualmente.
Descargar: límite de tiempo
Para ejecutar el comando superior durante 10 segundos usando timelimit:
timelimit -t10 arriba
Timelimit toma múltiples argumentos como tiempo de guerra, advertir, tiempo de muerte, y killsig. Si el usuario no proporciona estos argumentos, se toman sus valores predeterminados, que son warntime = 3600 segundos, warnsig = 15, tiempo de muerte = 120, y killsig = 9.
Administrar la vida de un comando en Linux
Monitorear los comandos y tomar el control de los procesos se vuelve importante si su máquina Linux tiene recursos limitados. Las utilidades como el tiempo de espera y el límite de tiempo son un salvavidas, ya que le permiten agregar restricciones de tiempo a sus comandos.
Al igual que el tiempo de ejecución de los comandos, también puede restringir el tiempo de pantalla de su sistema. Si usted es un padre que no quiere que su hijo pierda tiempo innecesario frente a una computadora, limitar el tiempo de pantalla es la opción más adecuada.
El software de control parental es prácticamente desconocido en Linux. Aquí hay varias formas de bloquear sitios y administrar contenido en Linux.
Leer siguiente
- Linux
- Linux

Deepesh es el editor junior para Linux en MUO. Ha estado escribiendo contenido informativo en Internet durante más de 3 años. En su tiempo libre le gusta escribir, escuchar música y tocar la guitarra.
Suscríbete a nuestro boletín
¡Únase a nuestro boletín de noticias para obtener consejos técnicos, reseñas, libros electrónicos gratuitos y ofertas exclusivas!
Un paso más…!
Confirme su dirección de correo electrónico en el correo electrónico que le acabamos de enviar.