当前位置: 首页 > 编程日记 > 正文

shell基础语法以及监控进程不存在重启

转码

# dos2unix ./test.sh

权限

# chmod a+x ./test.sh


语法
变量
var="111"
echo $var
echo ${var}


运算
no1=4;
no2=5;
let result=no1+no2
echo $result;


自增自减少
let no++
let no--


[]和let类似
result=$[ no1 + no2 ]
result=$[ $no1 + 5 ]
也可以使用(()),但使用(())时,变量名前需要加上$
result=$(( $no1 + 5 ))


expr也可以用于基本算术操作


result=`expr 3+4`
result=$(expr $no1 + 5)
以上不支持浮点


bc可以浮点
echo "4*0.56" |bc 输出2.24


文件描述符
0 1 2 标准输入 输出 标准错误


重定向到文本
echo "123" > temp.txt
追加
echo "123" >> temp.txt


查看文件内容
cat temp.txt
cat 1.txt 2.txt 多个内容


ls +
非法参数输出错误信息stderr


命令错误并退回 返回非0的退出状态
成功完成返回数字0
退出状态可以从特殊变量$?获得,在命令执行完后立刻运行echo $?就可以打印退出状态


ls + >out.txt 错误信息不能输出到文本
ls + 2>out.txt 错误信息能输出到文本
stderr和stdout各自
cmd 2>stderr.txt 1>stdout.txt


stderr转换为stdout
cmd 2>&1 out.txt
或者
cmd &> out.txt


stderr重定向到
/dev/null




读取日期
date



函数定义
function fname()
{


return 0;返回值
}


函数调用
$fname;
$fname arg1 arg2;传参数


一定要注意[]空格
#! /bin/sha=4;
b=5;if [ "$a" = "$b" ]; then
echo "1111"
#####


#! /bin/sha=4;
b=5;if [  "$a" -eq "$b"  ]
then
echo "yyyyyyyyyy"
else
echo "nnnnn"
fi
#####


#! /bin/sh
ps aux|grep  redis-stat | grep -v grep| wc -l
a=11
b=11
if [ $a -eq $b ]
then
echo "start process....."
else
echo "runing....."
fi
#####



注意<之类需要(())

下面这个监控redis进程不存在就重启

#! /bin/shp="redis-server"
proc_num()
{num=`ps aux|grep  $p | grep -v grep| wc -l`return $num
}proc_num
n=$?if (( "$n" < 1 ))
then
echo $n
echo "start redis-server process....."
else
echo $n
echo "redis-server runing ok."
fi
#####

crontab -e每分钟监控一次

*/1 * * * *  /redis.sh



参考:《Linux Shell脚本攻略(第2版)》

Shell中字符串、数值的比较

linux 进程监控和自动重启的简单实现

相关文章:

java md5算法,JAVA实现MD5算法

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼package org.zcq100.Other;public class MD5 {static final int S11 8;static final int S12 13;static final int S13 18;static final int S14 23;static final int S21 7;static final int S22 11;static final int S23 …

Hulu直播服务难点解析(一):系统需求

版权声明&#xff1a;本文为博主原创文章&#xff0c;未经博主允许不得转载。 https://blog.csdn.net/vn9PLgZvnPs1522s82g/article/details/83053654 Hulu在其博客发布了建立直播服务遇到的挑战及解决方案&#xff0c;这对于以前只提供点播服务的系统而言是一次彻底的升级。Li…

Velocity 入门(一)

Velocity是一种Java模版引擎技术&#xff0c;该项目由Apache提出。因为非常好用&#xff0c;和工作中有啥用&#xff0c;所以我在在理简单的入门一下。 网上找了很多教程&#xff0c;写的不是很明白&#xff0c;要么就是全部拷贝下来时候运行不起来。 在这里我来写一份比较完成…

php 魔术方法 多继承,day23:单继承多继承菱形继承__init__魔术方法

原文&#xff1a;https://www.cnblogs.com/libolun/p/13434675.html单继承关于继承的一些基本概念1.什么是子类?什么是父类?如果一个类继承另外一个类&#xff0c;该类叫做子类(衍生类)&#xff0c;被继承的类叫做父类(基类&#xff0c;超类)2.继承的种类:1.单继承 2.多继承3…

最新版IntelliJ IDEA 15开发Java Maven项目

IntelliJ IDEA是最好的java开发IDE之一 下载地址&#xff1a;http://www.jetbrains.com/idea/download/1.安装好之后开始创建项目2.选择Maven类型项目&#xff0c;选择JDK3.设置Maven坐标4.需要给新项目Add Framework support5.选择Java EE项目模板6.初始的网站修改pom.xml文件…

Android APP全面屏适配技术要点

全面屏的概念 为什么先要解释一下全面屏&#xff0c;因为这个词在现在来讲就是一个伪命题。全面屏字面意思就是手机的正面全部都是屏幕&#xff0c;100%的屏占比。但是现在推出所谓“全面屏”手机的厂商没有一个能达到全面的。 那么下面来说一下Android开发领域对全面屏的理解和…

PHP数据库连接池SQL Relay安装使用

SQL Relay按照其官网http://sqlrelay.sourceforge.net/index.html上所说是&#xff1a;A powerful database connection management solution. 翻译为中文也就是说SQL Relay是一个开源的数据库池连接代理服务器。目前SQL Relay支持的数据库很多&#xff1a; SQL Relay supports…

oracle实例由,Oracle数据库和实例

Oracle数据库服务器由一个数据库和至少一个数据库实例组成。 数据库是一组存储数据的文件&#xff0c;而数据库实例是一组管理数据库文件的内存结构。 另外&#xff0c;数据库由后台进程组成。一个数据库和一个实例是紧密相连的&#xff0c;因此术语 - Oracle数据库 通常用来指…

说一说activity

activity与service&#xff0c;provider&#xff0c;receiver并称为 android的四大对象。 而activity&#xff0c;是展现界面的必不可少的组件。我这里有几个问题要问了&#xff0c;他是如何加载&#xff0c;他是如何进行npc的。具体是怎么实现的了。 说道activity的加载&#…

zookeeper脑裂

出现&#xff1a; 在搭建hadoop的HA集群环境后&#xff0c;由于两个namenode的状态不一&#xff0c;当active的namenode由于网络等原因出现假死状态&#xff0c;standby接收不到active的心跳&#xff0c;因此判断active的namenode宕机&#xff0c;但实际上active并没有死亡。此…

C语言编写的PHP框架--yaf入门编程

首先--添加dll&#xff0c;修改php.ini--不同的版本&#xff0c;不同的需求 其次&#xff0c;根据教程http://www.laruence.com/manual/tutorial.firstpage.html#tutorial.directory手动搭建好目录结构 入口文件index.php位置稍作修改--个人习惯 入口文件内容 <?php header…

调试JDK源码-ConcurrentHashMap实现原理

调试JDK源码-一步一步看HashMap怎么Hash和扩容 调试JDK源码-ConcurrentHashMap实现原理 调试JDK源码-HashSet实现原理 调试JDK源码-调试JDK源码-Hashtable实现原理以及线程安全的原因ConcurrentHashMap线程安全的总结是我从源码分析出来的&#xff1a; ConcurrentHashMap所谓线…

oracle某个表丢失,丢失一个控制文件并恢复数据库

只丢失或损坏一个控制文件的情况下来恢复数据库&#xff0c;相对来说简单一点。一般来说&#xff0c;控制文件都需要形成一个多路径冗余策略&#xff0c;来提高数据库的安全性。这样的话只需将完好的控制文件复制一个副本放到丢失或者损坏了的控制文件所在路径的目录下&#xf…

MySQL:一个死锁分析 (未分析出来的死锁)

最近一个朋友给了我一个死锁 没分析出来搞了好几天&#xff0c;但是把以前出现的一个死锁理了一下流程。这里大概记录一下&#xff0c;并且给出朋友的案例。 RC 隔离级别很少出GAP我已经知道的 继承和分裂会出LOCK_GAP这是代码写死的purge线程可能触发页的分裂融合可能触发内部…

经历一次真实的XSS跨站攻击以及应付之策

这是一个线上真实的事情&#xff0c;黑客已经攻破网站&#xff0c;并主动给我们上报了问题的根源以及解决方案还是不错的。1.前端网站某处存在用户评论输入&#xff0c;黑客再此输出跨站脚本&#xff0c;下面的是从数据库查出来的2.后台管理人员如果浏览到这条数据就会触发这个…

在linux中 要删除abc目录,在 Linux 中,要删除 abc 目录及其全部内容的命令为:

【单选题】星子本地人说( )【判断题】音乐的音响,虽然不能直接传达抽象概念,但是却可以通过同构联觉的去描摹围绕着抽象概念的氛围。( )【判断题】专项耐力负荷量度是通过对糖酵解无氧代谢供能能力与非乳酸供能无氧耐力能力的监控实现的。【单选题】电动轮廓仪是根据( )原理制成…

ECHO.js 纯javascript轻量级延迟加载

演示 <!DOCTYPE html> <html lang"zh-CN"> <head> <meta charset"utf-8"> <title>简单的JavaScript图像延迟加载库Echo.js</title> <style> .demo img { width: 736px; height: 490px; background: url(images/…

SQL中的case when then else end用法

2019独角兽企业重金招聘Python工程师标准>>> Case具有两种格式。简单Case函数和Case搜索函数。 --简单Case函数 CASE sexWHEN 1 THEN 男WHEN 2 THEN 女 ELSE 其他 END --Case搜索函数 CASE WHEN sex 1 THEN 男WHEN sex 2 THEN 女 ELSE 其他 END这两种方式&#xf…

linux run文件夹,Linux下运行run文件

比如realplay.run安装方法如下chmod xrealplay.run./realplay.run然后他就会执行安装了&#xff0c;在过程中可能会要求你输入yes或no安装完后就可以用了,chmod实际上是加权限命令。&#xff0b;x表示可以执行chmod[-cfvR][--help][--version]modefile...说明:Linux/Unix的档案…

POJ2796 Feel Good(单调栈)

题意&#xff1a; 给出一列数据&#xff0c;要求一个区间内最小值与区间内数据总和乘积最大值 要点&#xff1a; 还是单调栈&#xff0c;这次我自己写的&#xff0c;先做了几题比较简单的果然还是有效果的&#xff0c;这题也是一样&#xff0c;按点遍历&#xff0c;网上大神做的…

Solr占用CPU持续过高原因查询

线上java进程占用CPU忽高忽低&#xff0c;就是说一下子40%左右&#xff0c;一下子减下去。这台服务器只有Solr&#xff0c;所以估计是Solr在GC。 # jstat -gcutil 2072 2sJVM名词解释参考java内存泄漏的定位与分析 一些术语的中文解释&#xff1a; S0C&#xff1a;年轻…

通过一个案例理解 JWT

原文出自&#xff1a;https://www.pandashen.com JWT 简述 JWT&#xff08;json web token&#xff09;是为了在网络应用环境之间传递声明而基于 json 的开放标准&#xff0c;JWT 的声明一般被采用在身份提供者和服务器提供者间传递被认证的身份信息&#xff0c;以便于从资源服…

gitlab报错 fatal: index-pack failed error: RPC failed; result=18, HTTP code = 200解决方案

gitlab报错 "fatal: index-pack failed error: RPC failed; result18, HTTP code 200"&#xff0c;如下图这个问题网上有些人给出这样的解决方法是不行的&#xff0c; 所谓&#xff1a;git config --globalhttp.postBuffer 24288000 git config --list 最有代表的是…

(10)Spring Boot修改端口号【从零开始学Spring Boot】

Spring boot 默认端口是8080&#xff0c;如果想要进行更改的话&#xff0c;只需要修改applicatoin.properties文件&#xff0c;在配置文件中加入&#xff1a; server.port9090 常用配置&#xff1a; ######################################################## ###EMBEDDED SER…

linux查看文件安全权限,Linux系统下如何查看及修改文件读写权限

查看文件权限的语句&#xff1a;在终端输入:ls -l xxx.xxx (xxx.xxx是文件名)那么就会出现相类似的信息&#xff0c;主要都是这些&#xff1a;-rw-rw-r--一共有10位数其中&#xff1a; 最前面那个 - 代表的是类型中间那三个 rw- 代表的是所有者(user)然后那三个 rw- 代表的是组…

【网摘】检测 iframe 是否加载完成

var iframeSet document.getElementById("iframeSet"); //需要检测的 iframe if(iframeSet.attachEvent) {iframeSet.attachEvent("onload", function() {$("#loading").hide();}); } else {iframeSet.onload function() {$("#loading&q…

Java json转Map,转bean,转Listbean

引用jackson /** * json转Map&#xff0c;转bean&#xff0c;转List<bean> by http://blog.csdn.net/21aspnet/ * 需要jackjson jar包 */ public class JsonUtil {/*** Object转Json*/public static String ObjectToJson(Object value) {try {ObjectMapper mapper new…

JVM实用参数 GC日志

为什么80%的码农都做不了架构师&#xff1f;>>> 原文章地址&#xff1a;http://blog.panaihua.com/archives/151 GC日志是一个很重要的工具&#xff0c;它准确记录了每一次的GC的执行时间和执行结果&#xff0c;通过分析GC日志可以优化堆设置和GC设置&#xff0c;或…

linux 搜索so文件,Linux下查找和安装依赖的.so文件

以解决Webex在Linux下运行问题为例说明查找和安装依赖的.so文件方法&#xff1a;查找依赖的.so文件$ ldd $HOME/.webex/1324/*.so | grep not foundlibgtk-x11-2.0.so.0 > not foundlibgdk-x11-2.0.so.0 > not foundlibXmu.so.6 > not foundlibXtst.so.6 > not fou…

CentOS7.4下 VNC Server的搭建和客户端的连接配置

CentOS7.4下 VNC Server的搭建和客户端的连接配置 服务器版本&#xff1a;CentOS Linux release 7.4.1708 (Core) yum方式安装VNC server yum install tigervnc-server 启动vnc 服务初次启动服务时&#xff0c;按提示设置VNC Service密码&#xff1b;服务成功启动后会在 /root/…