你好,我有一个 bash 脚本,需要根据端口 80 是否已被使用来有条件地执行几行代码:
sudo git fetch origin;
sudo git checkout master;
sudo git pull;
--- 如果端口 80 开放
echo Starting Meteor;
export LC_ALL=C;
export ROOT_URL=$ROOT_URL;
sudo meteor --port 80;
- - 别的
echo Meteor already running;
然后,由于 Meteor 是一个长期运行的过程,因此,作为锦上添花,我如何让它在后台运行并退出脚本?(我尝试过 nohup,&,但我不知道最佳做法是什么?)
非常感谢
答案1
您可以使用:
netstat -ln | grep ":80 "
如果返回代码 ($?) 为 0,则表示端口 :80 上有东西,否则没有。例如:
netstat -ln | grep ":80 " 2>&1 > /dev/null
if [ $? -eq 1 ]; then
... your code here
fi