小编eja*_*ngi的帖子

如何让Cloud9 IDE在后台运行?

我已根据https://github.com/ajaxorg/cloud9上的说明将Cloud9 IDE下载到我的Mac上,一切正常.但是,我似乎无法让它在后台运行,通过bash脚本启动:

Bash脚本称为"ide"并具有可执行权限:

#!/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
Run Code Online (Sandbox Code Playgroud)

这个想法是你可以通过以下几种方式启动:

$ ide
Run Code Online (Sandbox Code Playgroud)

将启动Cloud9并使用〜/ Sites文件夹作为工作区启动.或者您可以通过运行来指定工作区:

$ ide /path/to/workspace
Run Code Online (Sandbox Code Playgroud)

或者在后台运行服务器:

$ ide -b
Run Code Online (Sandbox Code Playgroud)

...不会退出脚本.

我试过下载"forever"(https://github.com/indexzero/forever).但是,当我永远运行它时它接管stdio并且不会返回命令提示符.

如果我在命令行中运行以下命令,它将在后台运行并正确存在:

$ nohup /usr/local/node/bin/node /Users/{user}/Sites/cloud9/bin/cloud9.js -p 3333 -w /Users/{user}/Sites > /dev/null 2>&1 &
Run Code Online (Sandbox Code Playgroud)

但是,当我自己运行脚本时.

关于我如何强制它在后台运行的任何想法?

bash node.js cloud9-ide

5
推荐指数
1
解决办法
3144
查看次数

标签 统计

bash ×1

cloud9-ide ×1

node.js ×1