Abra la aplicación desde el terminal y permanezca vinculada al proceso (como Linux) para que cuando se envíe CTRL + C al terminal, la aplicación también se cierre

2

Tengo una aplicación (herramienta de código cerrado no desarrollada por mí) que requiere que exista otro proceso antes de ejecutarse correctamente. Cuando salgo de esta aplicación, también quiero que se elimine ese proceso personalizado. Mi solución es tener un script de shell "lanzador". Puedo manejar la creación de menús de shell script, el evento de cierre y abrir / matar los procesos. El problema es que parece que no puedo entender cómo abrir una aplicación desde el Terminal, pero mantengo el Terminal bloqueado en esa aplicación para que cuando cierre la ventana del Terminal o envíe CTRL + C, la aplicación se cierre. Si está familiarizado con Linux, un ejemplo simple de mi comportamiento deseado es simplemente "gedit file.txt". El editor de texto se abriría, pero solo vivirá mientras lo haga la ventana del terminal.

En OSX con el comando "abrir", puedo iniciar aplicaciones pero no están vinculadas a la ventana de Terminal. ¿Hay algún comando alternativo que deba usar para lograr este comportamiento?

Aquí está mi script hasta ahora:

#!/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
    
pregunta CauselessEffect 17.03.2015 - 15:27

1 respuesta

0

En lugar de usar el comando Unix abierto.

Puede ejecutar el archivo ejecutable de las aplicaciones directamente.

Por ejemplo para TextEdit.app

Ejecutando el comando en Terminal.app

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

Esto abrirá TextEdit usando un proceso de Terminal.app

Cuando cierras la ventana del terminal o usas Ctrl + C

TextEdit se cerrará.

    
respondido por el markhunte 17.03.2015 - 18:12

Lea otras preguntas en las etiquetas