¿Hay alguna forma de detectar cuándo una aplicación ha terminado de iniciarse después de usarla open <path_to_app>
en un shell? El aviso después de emitir el comando es inmediato, pero para las aplicaciones que tardan un tiempo en iniciarse por completo, se agotarán los eventos hasta que se inicie por completo ...
Utilizando ps aux | grep -i 'path to app' | grep -v grep | wc -l
, devuelve un ID de proceso casi de inmediato (en el momento del inicio de la aplicación), por lo que no sirve.
Cualquier ayuda, muy apreciada.
macos
terminal
command-line
Dave Yeaman
fuente
fuente
spindump
tal vez?Respuestas:
Se resolvió monitoreando la columna STATE para el paquete de aplicaciones usando TOP. Esperar a que ESTADO cambie a 'dormir' durante un par de segundos fue el truco (para mí de todos modos).
fuente
Puede crear una herramienta de línea de comandos con Swift. Aquí está el código de muestra:
Pase el nombre de la aplicación como argumento. Por ejemplo:
./listener Mini Calendar
Comprueba si la aplicación ya se está ejecutando. También puede establecer diferentes
timeout
si lo desea.fuente