2011-05-11 13 views
5

he descargado el IDE Cloud9 a mi Mac de acuerdo con las instrucciones de https://github.com/ajaxorg/cloud9 y todo funciona bien. Sin embargo, me parece que no puede conseguir que se ejecute en segundo plano, el lanzamiento a través de una escritura del golpe: la escritura¿Cómo se obtiene Cloud9 IDE para ejecutar en segundo plano?

Bash llamada "ide" y tiene privilegios de ejecutables:

#!/usr/bin/env sh 
CLOUD_USER=`whoami` 
CLOUD_DIR="/Users/$CLOUD_USER/Sites/cloud9" 
CLOUD_PORT=3333 
CLOUD_WORKSPACE="/Users/$CLOUD_USER/Sites" 
CLOUD_ACTION="open" 
CLOUD_BEFORE="" 
CLOUD_AFTER="" 


case "$1" in 
    -b) 
     CLOUD_BEFORE="nohup " 
     CLOUD_AFTER="> /dev/null 2>&1 &" 
     ;; 
    .) 
     CLOUD_WORKSPACE=`pwd` 
     CLOUD_AFTER="-a $CLOUD_ACTION" 
     ;; 
    *) 
     if [ $1 ]; then 
      CLOUD_WORKSPACE=$1 
     fi 
     CLOUD_AFTER="-a $CLOUD_ACTION" 
     ;; 
esac 

$CLOUD_BEFORE`/usr/local/node/bin/node $CLOUD_DIR/bin/cloud9.js -p $CLOUD_PORT -w $CLOUD_WORKSPACE` $CLOUD_AFTER 

La idea es que se puede poner en marcha este varias maneras:

$ ide 

Se iniciará Cloud9 y poner en marcha el uso de la carpeta ~/Sitios como el espacio de trabajo. O puede especificar el espacio de trabajo mediante la ejecución:

$ ide /path/to/workspace 

o ejecutar el servidor en segundo plano:

$ ide -b 

... que no se salga del guión.

He intentado descargar "para siempre" (https://github.com/indexzero/forever). Pero, cuando lo ejecuto para siempre, toma stdio y no regresa al símbolo del sistema.

Si corro el siguiente en la línea de comandos que se ejecuta en segundo plano y existe correctamente:

$ nohup /usr/local/node/bin/node /Users/{user}/Sites/cloud9/bin/cloud9.js -p 3333 -w /Users/{user}/Sites > /dev/null 2>&1 & 

Pero, no cuando corro el propio guión.

alguna idea acerca de cómo puedo forzar esto para ejecutar en segundo plano?

+0

múltiples terminales abiertos! Solo déjalo abierto en uno de ellos. – Raynos

+0

@Raynos segunda pregunta, ¿cómo se consigue _actually_ hook puerto 80? – jcolebrand

+0

@drachenstern '$ node bin/cloud9.js -h' es de ayuda. – Raynos

Respuesta

2

línea de cambio

$CLOUD_BEFORE`/usr/local/node/bin/node $CLOUD_DIR/bin/cloud9.js -p $CLOUD_PORT -w $CLOUD_WORKSPACE` $CLOUD_AFTER 

a

$CLOUD_BEFORE"/usr/local/node/bin/node $CLOUD_DIR/bin/cloud9.js -p $CLOUD_PORT -w $CLOUD_WORKSPACE "$CLOUD_AFTER 

soy prueba en el siguiente ejemplo:

[[email protected] ~]$ SF="sudo " 
[[email protected] ~]$ FS=" aux" 
[[email protected] ~]$ $SF`ps`$FS 
Password: 
sudo: PID: command not found 
[[email protected] ~]$ $SF"ps"$FS 
USER  PID %CPU %MEM VSZ RSS TTY  STAT START TIME COMMAND 
... 
+0

Sí, si ejecuto el comando en la terminal directamente, funciona bien. Pero, no funciona desde dentro de mi script por alguna razón. – ejangi

Cuestiones relacionadas