工作中Linux重启服务shell脚本解析

脚本如下:

chmod 666 run.jar
pid=`ps -ef|grep run.jar |grep -v grep|awk '{print $2}'`
echo "run进程为$pid"
kill -9 $pid
echo "$pid进程终止成功"
nohup java -jar run.jar &
echo "run进程启动"
pid=`ps -ef|grep run.jar |grep -v grep|awk '{print $2}'`
echo "run进程为$pid"
chmod 666 run.jar

chomd:通过三个数字组合来确定用户的权限
r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。
Linux中规定数字 4 、2 和 1表示读、写、执行权限
如:

rwx = 4 + 2 + 1 = 7

rw = 4 + 2 = 6

rx = 4 +1 = 5

若要同时设置 rwx (可读写运行) 权限则将该权限位 设置 为 4 + 2 + 1 = 7

若要同时设置 rw- (可读写不可运行)权限则将该权限位 设置 为 4 + 2 = 6

若要同时设置 r-x (可读可运行不可写)权限则将该权限位 设置 为 4 +1 = 5

每个文件都可以针对三个粒度,设置不同的rwx(读写执行)权限。即我们可以用用三个8进制数字分别表示 拥有者 、群组 、其它组( u、 g 、o)的权限详情,并用chmod直接加三个8进制数字的方式直接改变文件权限。语法格式为 :

chmod file
其中
问号各为一个数字,分别代表User、Group、及Other的权限。
相当于简化版的
chmod u=权限,g=权限,o=权限 file…
而此处的权限将用8进制的数字来表示User、Group、及Other的读、写、执行权限

例子:

设置所有人可以读写及执行
chmod 777 file (等价于 chmod u=rwx,g=rwx,o=rwx file 或 chmod a=rwx file)
设置拥有者可读写,其他人不可读写执行
chmod 600 file (等价于 chmod u=rw,g=—,o=— file 或 chmod u=rw,go-rwx file )

ps -ef|grep run.jar |grep -v grep|awk '{
     print $2} 

grep -v 意为不包括;上述语句的意思是查找除了grep下的所有信息
如下图所示;
工作中Linux重启服务shell脚本解析_第1张图片
awk '{print $2}'意为取第二个字段输出

所以代码的意思就是 查找除了grep操作的run.jar的进程之外的所有进程这一行信息的第二个字段的值并打印(即pid进程号)工作中Linux重启服务shell脚本解析_第2张图片

在Linux shell编程中,经常会用到判断字符串是否相等,可用于判断字符串是否相等的操作符有‘-eq’(相等), ‘-ne’(不等于), ‘-lt’(小于), ‘-le’(小于或等于), ‘-gt’(大于)或‘-ge’(大于或等于),以及=,==,!=,。

kill -9 进程号
终止进程命令

1.nohup
用途:不挂断地运行命令。

2.&
用途:在后台运行

nohup commond &
使命令永久的在后台执行

项目中 **nohup java -jar run.jar &** 命令将jar包日志放入nohup.out中

你可能感兴趣的:(linux,运维,服务器)