shell脚本摘要
开启监听端口的程序时,查看是否开启成功(该例子监听8983端口)
#动态显示[|][/][-][\]
function spinner() {
local pid=$1
local delay=0.5
local spinstr='|/-\'
while [ "$(ps aux | awk '{print $2}' | grep -w $pid)" ]; do
local temp=${spinstr#?} #'\#'从字符串开头删除匹配subString,#?删除第一个字符
printf " [%c] " "$spinstr"
local spinstr=$temp${spinstr%"$temp"} #拼出一个新的字符串:删除第一个字符,把该字符加到被删字符串的后面。%:从结尾删除匹配到的字符串
sleep $delay
printf "\b\b\b\b\b\b" # \b退格键,删除显示的字符
done
printf " \b\b\b\b"
} if hash lsof 2>/dev/null ; then # hash 查看系统中是否有该命令
echo -n "Waiting up to 30 seconds to see Solr running on port $SOLR_PORT"
# Launch in a subshell to show the spinner
(loops=0
while true
do
running=`lsof -PniTCP:8983 -sTCP:LISTEN`
# 循环6次,每次sleep5秒,执行6次lsof
if [ -z "$running" ]; then
if [ $loops -lt 6 ]; then
sleep 5
loops=$[$loops+1]
else
echo -e "Still not seeing Solr listening on $SOLR_PORT after 30 seconds!"
tail -30 "$SOLR_LOGS_DIR/solr.log"
exit # subshell!
fi
else
SOLR_PID=`ps auxww | grep start\.jar | grep -w 8983 | grep -v grep | awk '{print $2}' | sort -r`
echo -e "\nStarted Solr server on port $8983 (pid=$SOLR_PID). Happy searching!\n"
exit # subshell!
fi
done) &
spinner $! # $!可以返回岛控制台
else
echo -e "NOTE: Please install lsof as this script needs it to determine if Solr is listening on port $SOLR_PORT."
sleep 10
SOLR_PID=`ps auxww | grep start\.jar | grep -w 8983 | grep -v grep | awk '{print $2}' | sort -r`
echo -e "\nStarted Solr server on port $SOLR_PORT (pid=$SOLR_PID). Happy searching!\n"
return;
fi
shell脚本摘要的更多相关文章
- LinuxShell脚本——认识Shell脚本
LinuxShell脚本——认识Shell脚本 摘要:本文主要介绍了Shell脚本的一些基本知识. 什么是Shell脚本 shell脚本是利用shell的功能所写的一个程序,这个程序是使用纯文本文件, ...
- Shell脚本编程的常识
(这些往往是经常用到,但是各种网络上的材料都语焉不详的东西,个人认为比较有用) 七种文件类型 d 目录 ...
- 让你提前知道软件开发(22):shell脚本文件操作
文章1部分 再了解C语言 shell脚本中的文件操作 [文章摘要] 编写shell脚本时,经常会涉及到对文件的操作,比方从文件里读取一行数据.向文件追加一行数据等. 完毕文件读写操作的方法有非常多,了 ...
- Shell 脚本常用命令
Shell脚本是Linux开发工作中常用的工具,但是我一直没有找到一个适合自己的简明扼要的HandBook.在工作过程中整理了一下,贴在这里已备查看. 1 Shell中的特殊符号 ...
- shell脚本编程常识
(这些往往是经常用到,但是各种网络上的材料都语焉不详的东西,个人认为比较有用) 七种文件类型 d 目录 ...
- [拾 得] 一枚迷人的贝壳 SHELL / Linux | shell 脚本初步入门
坚持知识分享,该文章由Alopex编著, 转载请注明源地址: http://www.cnblogs.com/alopex/ 索引: 什么是shell shell的分类 shell脚本的执行方式 ...
- 【转】shell脚本实现多台服务器自动巡检--可参考学习
shell脚本实现多台服务器自动巡检 摘要: 运维服务一个项目二十多台(或者多台)服务器,每天要做服务器的性能巡检工作是查看服务器的CPU.内存.磁盘空间是否在正常值范围内.像 ...
- 使用Shell脚本对Linux系统和进程资源进行监控
ShellLinux脚本 摘要:Shell语言对于接触Linux的人来说都比较熟悉,它是系统的用户界面,提供了用户与内核进行交互操作的一种接口.本文我们以Bash做为实例总结了使用Shell对系统和进 ...
- SHELL脚本编程的常识和VI常用技巧
来源:http://mprc.pku.edu.cn/mentors/training/TrainingCourses/material/ShellProgramming.HTM#_Toc3751808 ...
随机推荐
- Lock锁
Lock lock = new ReentrantLock(); lock.lock(); try { } finally { } 注意:不要将获取锁的过程写在try块中,因为如果在获取锁(自定义锁的 ...
- JS初学之-效果没出来怎么办?-alert函数测试
一般出了问题之后,有经验的高手一眼就可以看出来,但是对于我们初学者来说,利用alert函数不失为一个好方法. 这时我们要利用逐行测试的方法,在任意一句代码下加alert,如果可以弹出来就说明上面的没有 ...
- docker容器互联
link方式 http://blog.csdn.net/halcyonbaby/article/details/42112325 通过link方式创建容器,然后我们可以使用被link容器的别名进行访问 ...
- java多线程:jdk并发包的总结(转载)
转载地址:http://blog.csdn.net/yangbutao/article/details/8479520 1.java 高并发包所采用的几个机制(CAS,volatile,抽象队列同步) ...
- linux账户管理[转自vbird]
useraddpasswdchageusermoduserdelfingerchfnchshidgroupaddgroupmodgroupdelgpasswd useradd 完全参考默认值创建一个用 ...
- (转)Attention
本文转自:http://www.cosmosshadow.com/ml/%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C/2016/03/08/Attention.ht ...
- 常见半监督方法 (SSL) 代码总结
经典以及最新的半监督方法 (SSL) 代码总结 最近因为做实验需要,收集了一些半监督方法的代码,列出了一个清单: 1. NIPS 2015 Semi-Supervised Learning with ...
- OAuth2.0详解
1.使用场景 A系统存放着订单信息 B系统需要查询A系统中的订单信息,但是必须要A系统验证通过后,才能查询. 此时,我们有两种验证方式: 1)拥有A系统的账户/密码 弊端是对A系统来说,直接提供账户/ ...
- 025. asp.net中GridView的排序和过滤
前台HTML代码: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Defaul ...
- CARP-VRRP-HSRP
CARP-VRRP-HSRP http://www.openbsd.org/faq/pf/carp.html