bash - 如何让 Cloud9 IDE 在后台运行?

标签 bash node.js cloud9-ide

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

名为“ide”并具有可执行权限的 Bash 脚本:

#!/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

想法是您可以通过多种方式启动它:

$ ide

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

$ ide /path/to/workspace

或者在后台运行服务器:

$ ide -b

...这不会退出脚本。

我试过下载“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 &

但是,当我运行脚本本身时不是。

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

最佳答案

换行

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

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

我正在测试以下示例:

[kaero@54221-2 ~]$ SF="sudo "
[kaero@54221-2 ~]$ FS=" aux"
[kaero@54221-2 ~]$ $SF`ps`$FS
Password:
sudo: PID: command not found
[kaero@54221-2 ~]$ $SF"ps"$FS
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
...

关于bash - 如何让 Cloud9 IDE 在后台运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5971308/

相关文章:

bash - 在 bash 中实现 netcat

javascript - 为什么 js 服务器收不到 HTTP post 请求?

ruby-on-rails - PostgreSQL 服务器无法在 Cloud9 中启动

javascript - 如何让 mocha 递归地在所有子文件夹中执行测试?

Linux Bash ... 如果时间 > 20 :00 then echo 'hello' fi

node.js - 如何手动修复 npm 漏洞?

javascript - 我可以在多个 HTML 页面中使用套接字吗?

node.js - 任何使用 Cloud 9 的 Node.js 教程?

node.js - 云上的 Passport Facebook 身份验证 9

linux - 如何为每个结果调用一个命令?