2 votos

Abrir la aplicación desde el terminal y permanecen vinculados al proceso (como Linux) así que cuando CTRL+C se envía a la terminal de la aplicación se cierra demasiado

Tengo una aplicación (código cerrado herramienta no desarrollado por mí), que requiere otro proceso para existir antes de ejecutar correctamente. Cuando yo salga de esta aplicación, también quiero que la medida a ser asesinados. Mi solución es tener un script de shell "launcher". Puedo manejar la creación de shell de comandos de los menús, el evento de cierre y de apertura/la matanza de los procesos. El problema es que me parece que no puede averiguar cómo abrir una aplicación desde la Terminal, pero mantener Terminal bloqueado en esa aplicación, de forma que al cerrar la ventana de Terminal o enviar CTRL+C se cierra la aplicación. Si estás familiarizado con Linux, un ejemplo sencillo de mi comportamiento deseado es sólo "gedit file.txt". El editor de texto abrir, pero sólo en la vida mientras la ventana de terminal.

En OSX con el comando "open", me pueden iniciar aplicaciones, pero que no están vinculados a la ventana de Terminal. Hay una alternativa de comandos debo utilizar para lograr este comportamiento?

Aquí está mi script hasta el momento:

#!/bin/bash
set -e
function cleanup {
    osascript -e 'tell application "APP1" to quit'
    osascript -e 'tell application "APP2" to quit'
}
trap cleanup EXIT

clear

PS3='Please select an option: '
options=("Start Apps" "Stop Apps")
select opt in "${options[@]}"
do
    case $opt in
        "Start Apps")
            open -a "APP1"
            open -a "APP2"
            ;;
        "Stop Apps")
            cleanup 
            ;;
        *) echo invalid option;;
    esac
done

0voto

Malik hassan Puntos 16

En lugar de utilizar el comando Unix abierto.

Puede ejecutar el archivo ejecutable de la aplicación directamente.

Por ejemplo, para la edición de textos.aplicación

Ejecuta el comando en la Terminal.aplicación

/Applications/TextEdit.app/Contents/MacOS/TextEdit

Esto abrirá el editor de texto mediante un proceso desde la Terminal.aplicación

Al cerrar la ventana de terminal o el uso de Ctrl + C

TextEdit dejar de fumar.

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