1 votos

script para reiniciar la aplicación

Necesito reiniciar una aplicación una vez al día porque tiene pérdidas de memoria y acaba consumiendo varios gigas de memoria al cabo de unos días. Tal vez sea una mala programación, pero el desarrollador no fue capaz de replicar el problema. Estoy encontrando el problema en MacOS 10.13. Hay poca motivación por parte del desarrollador para tratar de ayudar a resolver el problema en una versión obsoleta de MacOS.

Armé un pequeño script para reiniciar dicha aplicación. Sin embargo, el script sólo funcionó durante unos meses, ahora empecé a recibir el siguiente mensaje de error cada vez que se ejecuta el script:

La aplicación no está funcionando. APPLICATIONNAME obtuvo un error: La aplicación no se está ejecutando. (-600)

El script es el siguiente:

#!/bin/bash

#!/usr/bin/osascript

tell application "APPLICATIONNAME"
    quit

    delay 30

    tell application "APPLICATIONNAME" to activate
end tell

¿Cómo puedo resolver el error?

3voto

Tetsujin Puntos 23061

A mí me funciona, pero hay un extraño tell 'bracketing' que inicialmente había supuesto que podía ser el problema.

Estás abriendo tu bloque tell, luego dentro de él usando otro 'tell to' de una sola vez y luego cerrando el tell original. Eso parece extraño, aunque parece que funciona de todos modos.
La lógica es que como el bloque tell principal sigue abierto, el PID original de "APPLICATIONNAME" puede ser lo que está reteniendo en la memoria y tal vez tratando de volver a aplicarlo más tarde, cuando ya no existe. [Adivinanzas]

Yo intentaría

tell application "app" to quit

delay 30

tell application "app" to activate

0voto

itoldusoandso Puntos 11

No me funcionó.

Here is my script now..

#!/usr/bin/osascript
tell application "app" to quit
delay 30
tell application "app" to activate

También puse el bit de ejecución, cambié al directorio donde está el archivo y lo ejecuté: chmod=+x nombre_script.sh

Cuando ejecuto el script en el Editor script, independientemente de que la aplicación "app" se esté ejecutando o no, al ejecutarlo, la aplicación se reinicia pero me sale este mensaje:

error "CloudMounter obtuvo un error: La aplicación no se está ejecutando". número -600

Lo extraño es que, si la aplicación no se estaba ejecutando, tras ejecutar el script se ejecuta la aplicación y se ejecuta.

Ni siquiera he intentado ejecutar el script en mi aplicación de programación porque supongo que también obtendría el mismo mensaje de error.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X