Caso de uso ejemplar:
Me gustaría iniciar Telegram Desktop periódicamente cada 3 horas durante 15 minutos, para verificar si hay nuevos mensajes entrantes. Después de 15 minutos, la aplicación debería cerrarse nuevamente y reiniciarse después de las próximas 3 horas.
cron
usted puede iniciar claramente los programas. También puede cron akill -15
, pero depende de la aplicación si lo maneja como un suave empujón para apagar, ignorarlo o simplemente se bloquea.Respuestas:
Cron versus script de fondo
Por supuesto, lo primero que aparece en la mente es usar
cron
. Si usa cron o un pequeño script de fondo es principalmente una cuestión de gustos.La ventaja de cron es que se conecta a un proceso existente (aunque un script agrega, bueno, en realidad nada a la carga del procesador).
La ventaja de un script de fondo es que es más flexible; simplemente mátelo y ejecútelo con otros argumentos si desea cambiar el tiempo u otras configuraciones. También puede reutilizarlo con otras aplicaciones sin tener que hacer otra configuración, solo un comando es suficiente.
El siguiente script puede ejecutarse mediante el comando (p. Ej.)
Donde el último argumento, si se establece, mata por la fuerza la aplicación. Si no se configura, la aplicación se cerrará correctamente para asegurarse de que no se pierdan los posibles cambios, etc.
La secuencia de comandos
Usar
cycle_run.py
Ejecútalo con el comando:
dónde:
<command>
es el comando para ejecutar la aplicación (sin la--%u
sección -en mi caso, copiada del.desktop
archivo/home/jacob/Downloads/Telegram/Telegram
)<cycle_time>
es el tiempo de ciclo (total) en minutos (3 horas = 180 en su ejemplo)<application_run_time>
es el tiempo que la aplicación debe ejecutarse en minutos (15 en su ejemplo)force
es un argumento opcional para matar forzosamente la aplicación. Simplemente déjelo alejado para matar con gracia la aplicación.Ejecutar aplicaciones con argumentos
Si ejecuta una aplicación con argumentos, asegúrese de usar comillas alrededor del comando para ejecutar la aplicación , por ejemplo:
Ejecución de aplicaciones minimizadas o en bandeja
El inicio y la finalización de las aplicaciones periódicamente a menudo se necesitarán solo minimizadas y / o en la bandeja. Según lo solicitado por OP, algunas observaciones al respecto:
Si una aplicación ofrece iniciarse en la bandeja desde la línea de comandos, simplemente use el argumento para hacerlo. En el caso de
Telgram
, el argumento a usar es:aunque la opción parece no funcionar en todos los sistemas (sí funciona en el mío), como se menciona aquí . Tendrás que probar en tu situación.
Si la aplicación no ofrece la opción de línea de comando para iniciar minimizado o en la bandeja, sugeriría usar el script (this) en combinación con el aquí (sugeriría la
pid
versión -), lo que hará posible el inicio La aplicación minimizada.fuente
Edite su cron con
crontab -e
y agregue esta línea en su crontab para ejecutarlo como trabajo programado por cada 3 horas2. Abra su terminal y escriba el siguiente comando
abra killtelegram.sh con su editor favorito y escriba lo siguiente
Guardar y Salir
Eso es. Se abrirá automáticamente por cada 3 horas y permanecerá durante 15 minutos y será asesinado.
fuente