我正在编写一个“简单”脚本来启动 django 服务器,然后在我开发时启动 Firefox。
我已经看到了这个</dev/null &
技巧,并且可以在命令行上使用。但是当我在我的脚本中使用它时,它仍然挂在启动的服务器上。Backgrounding withctrl-z和bg
命令仅使脚本背景化,而不是命令背景化。
有没有办法让 django 传递一个“不要占用输入”标志?或者我可以在脚本中以某种方式将它作为背景,而不是放在&
它的末尾?或者只是告诉脚本不要在单独的会话中运行它?
这是我的完整脚本(它充满了硬核丑陋,如果我能让它工作,它可能会得到美化):
SETTING_ENV=$1
if [ "$PWD" = "/home/$USERNAME/PROJECT/" ]; then
pid=$(for pid in $(pidof -x "python"); do ps -p $pid -o pid,cmd --no-heading; done| grep [m]anage|head -1|cut -d" " -f2)
if [ -z $pid ]; then
python ./manage.py runserver --settings=project.settings.$SETTING_ENV < /dev/null &
else
echo "Server still running on : $pid"
fi
pids=$(pidof -x firefox)
for pid in $pids; do
echo $pid
if [ -z $pid ]; then
echo "starting firefox"
firefox --new-window localhost:8000 &
else ecjp "Firefox already running on pid: $pid"
fi
done
else
echo "$PWD is not /home/$USERNAME/PROJECT";
fi