Bash Script que iniciará el segundo proceso de Terminal?

4

Necesito un script que pueda iniciar una segunda instancia de Terminal y pasar un comando directamente a esa mientras continúa con sus propias ejecuciones.

Es para iniciar la secuencia de comandos de Python que alojará un servidor, mientras que la instancia principal de Terminal continuará ejecutando su serie de ejecuciones durante un período de 30 segundos (por ejemplo) y luego podrá eliminar el PID de Python. haga un script y elimine ese proceso secundario de Terminal y continúe hasta que termine.

¿Alguien tiene una idea de cómo hacer esto? Desde Windows, sería muy fácil obtener un archivo BAT para ejecutar un segundo archivo BAT en su propio entorno y luego eliminarlo en una etapa posterior.

    
pregunta Danijel-James W 28.09.2013 - 09:42

2 respuestas

4

Puede usar el comando do script AppleScript para ejecutar un comando en una nueva ventana de Terminal:

osascript -e 'tell app "Terminal" to do script "uptime"'

Sin embargo, no se inicia un segundo proceso o instancia para Terminal. En OS X, normalmente solo hay una instancia para cada aplicación, aunque puedes usar open -n para abrir otra instancia.

    
respondido por el user495470 28.09.2013 - 10:44
1

Sobre la base de la respuesta anterior, puede usar do script para ejecutar una segunda ventana de Terminal e incluso emitir varios comandos de forma secuencial usando -e

osascript -e 'tell app "Terminal" to do script "uptime"' -e 'tell app "Finder" to delete file "filename" on Desktop'

De esta manera, también puede especificar múltiples acciones en secuencia usando solo 1 línea.

    
respondido por el Tech29 29.09.2013 - 11:29

Lea otras preguntas en las etiquetas