【发布时间】:2016-11-26 14:12:25
【问题描述】:
我正在尝试编写一个 Shell 脚本(用于 Mac OSX 终端),它将运行一个命令来启动一个开发服务器(gulp serve)。我让它工作,除了服务器持续运行,所以它不允许我在同一个窗口中输入后续命令而不停止服务器 (Control+C)。我的问题是,有没有办法可以在后台运行进程和/或抑制任何/所有输出?我的目标是编写一个“停止服务器”命令来终止进程(我也不确定该怎么做)。我已经尝试了所有使用&符号和 &>/dev/null 的组合,但没有任何效果。到目前为止,这是我所拥有的:
if [ "$1" = "server" ]
then
if [ "$2" = "on" ]
then
cd / & gulp serve --gulpfile /server/example/gulpfile.js # the output is still shown
printf "\033[0;32mserver is online.\033[0m\n"
else
killall tail &>/dev/null 2>&1 # this doesn't kill the process
printf "\033[0;32mportals is offline.\033[0m\n"
fi
fi
【问题讨论】:
标签: bash macos shell terminal gulp