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 &
しかし、スクリプト自体を実行したときではありません。
これをバックグラウンドで強制的に実行する方法についてのアイデアはありますか?