ps -eaf |grep tomcat |grep -v grep /dev/null 21
10年积累的成都网站设计、成都做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站制作后付款的网站建设流程,更有佳木斯免费网站建设让你可以放心的选择与我们合作。
分为4段
1、ps -eaf 查看当前进程,-e 显示所有进程,a显示终端上的所有进程,包括其他用户的进程,f 全格式。
2、显示的结果通过管道“|”传给第二段 grep tomcat,查找tomcat进程。
3、同样查找的结果传给第三段 grep -v grep,-v 不显示匹配的行,因为用grep查询tomcat的时候也算一个进程,而ps的时候该进程信息中也包含了tomcat,例如:
root 2317 0.0 0.0 5980 744 pts/4 S+ 15:00 0:00 grep tomcat
所以用grep -v grep把这条过滤掉。
4、第四段 /dev/null 21,将显示结果(默认是正确输出,即1)重定向到/dev/null中去,2代表错误输出,也和1一样。Linux中0代表输入stdin,1代表输出stdout,2代表错误输出stderror。
每运行一个命令,该命令都会有一个返回值给shell,你可以在终端中试试ls,然后echo $?查看返回值,肯定是0,如果ls 一个不存在的文件,再看,肯定不是0。以此判断上一条命令是否执行成功。
if [ $? -eq 0 ]; then
判断上一条命令的返回值是否等于(-eq) 0,即是否运行成功。
不想经常重启机器,重启时间设置太长又担心网络出问题后不能重启解决,所以写了这个脚本命令,
二天检测一次网络状态,网络通就不执行任何操作,不通就重启,然后每半个月强制重启一次觉得还能接受。
5 5 */2 * * [ $(/bin/date +%w) -eq 5 ] /sbin/reboot || /bin/ping -c2 -w5 114.114.114.114 || /sbin/reboot
适用于任何linux内核的固件
如果认为二天检测一次网络状态太长,可以稍微修改下代码
每天检测一次,每周强制重启一次:
5 5 * * * [ $(/bin/date +%w) -eq 5 ] /sbin/reboot || /bin/ping -c2 -w5 114.114.114.114 || /sbin/reboot
linux重启命令解释
其实很简单linux命令
[ $(/bin/date +%w) -eq 5 ] /sbin/reboot
#表示如果时间是第周的第五天就重启,不是周五就不重启
/bin/ping -c2 -w5 114.114.114.114 || /sbin/reboot
#表示ping一下外网,有结果表示网络是通的,后面的重启就不执行;没结果返回表示网络不能,然后后面的reboot重启就执行
命令脚本使用方法
写在计划任务里面。
系统管理---服务---下面有个计划任务
# 每天检测一次网络,每周强制重启一次
5 5 * * * [ $(/bin/date +%w) -eq 5 ] /sbin/reboot || /bin/ping -c2 -w5 114.114.114.114 || /sbin/reboot
# 每二天检测一次网络,每半个月(2周)强制重启一次
5 5 */2 * * [ $(/bin/date +%w) -eq 5 ] /sbin/reboot || /bin/ping -c2 -w5 114.114.114.114 || /sbin/reboot
OpenWrt固件实现路由器定时重启方法无限重启
30 05 * * 1,2,3,4,5 sleep 5 touch /etc/banner reboot
这段命令的意思是星期1-5的5点30分,自动重启。
第一步 复制到 系统-计划任务-粘贴保存
第二步 系统-启动项-找到 cron 然后重启此启动项
如果直接设置这样的命令
0 5 * * * /sbin/reboot
那么系统在5点重启后就会自动每过一分钟就会重启一次,因为重启后系统时间是不会变的。因为路由器重启后时间还停在重启前的5点。
正确的命令如下
10 2 * * * sleep 70 touch /etc/banner reboot //每天2点10分路由器自动重启
需要注意的是,一定要延迟重启,否则可能无限重启,官方给出的配置中,在 sleep 70 秒之后,使用 touch 写文件,因为路由器如果没有及时联网从NTP服务器上获取到时间,那么路由器的系统时间和重启的系统时间便一样,如果修改过文件,Openwrt 开机后会把最后修改或者访问的文件时间作为默认系统时间。因此延迟1min重启,可以避免这个问题
PandoraBox路由器设置定时重启后无限自动重启解决方法
文件比较运算符-e filename
如果 filename存在,则为真 [ -e /var/log/syslog ]-d filename
如果 filename为目录,则为真 [ -d /tmp/mydir ]-f filename
如果 filename为常规文件,则为真 [ -f /usr/bin/grep ]-L filename
如果 filename为符号链接,则为真 [ -L /usr/bin/grep ]-r filename
如果 filename可读,则为真 [ -r /var/log/syslog ]-w filename
如果 filename可写,则为真 [ -w /var/mytmp.txt ]-x filename
如果 filename可执行,则为真 [ -L /usr/bin/grep ]filename1-nt filename2
如果 filename1比 filename2新,则为真 [ /tmp/install/etc/services -nt /etc/services ]filename1-ot filename2
如果 filename1比 filename2旧,则为真 [ /boot/bzImage -ot arch/i386
/boot/bzImage ]字符串比较运算符 (请注意引号的使用,这是防止空格扰乱代码的好方法)
-z string 如果 string长度为零,则为真 [ -z "$myvar" ]-n string 如果 string长度非零,则为真 [ -n "$myvar" ]
string1= string2 如果 string1与 string2相同,则为真 [ "$myvar" = "one two three"]
string1!= string2 如果 string1与 string2不同,则为真 [ "$myvar" != "one two three" ]
算术比较运算符num1-eq num2 等于 [ 3 -eq $mynum ]
num1-ne num2 不等于 [ 3 -ne $mynum ]num1-lt num2 小于 [ 3 -lt $mynum ]
num1-le num2 小于或等于 [ 3 -le $mynum ]num1-gt num2 大于 [ 3 -gt $mynum ]
num1-ge num2 大于或等于 [ 3 -ge $mynum ]
拓展资料:
Linux操作系统
是基于UNIX操作系统发展而来的一种克隆系统,它诞生于1991 年的 [Linux桌面] 10 月5 日(这是第一次正式向外公布的时间)。以后借助于Internet网络,并通过全世界各地计算机爱好者的共同努力,已成为今天世界上使用最多的一种UNIX 类操作系统,并且使用人数还在迅猛增长。
$1是参数
cat命令用于读取文件内容并输出。例如:有一个test.txt文件,它的内容是:
执行cat
test.txt将会在屏幕上看到以上内容。
那么,grep
'[^0-9]'的意思是匹配非数字之外的任何字符,-c的意思是只输出匹配行的计数。
所以,cat
$1
|
grep
-c
'[^0-9]'的意思就是只要这一行有非数字之外的字符计数器就加1,最后输出计数器的值。例如:执行cat
test.txt
|
grep
-c
'[^0-9]'将会输出2。
得出if
[
-eq
`cat
$1
|
grep
-c
'[^0-9]'` ]的意思就是计数器的值等于0时执行if后面的代码。
置于`就是在shell脚本中执行一行命令的时候要用``把这一行命令包起来。