ps -ef |grep java| grep -v grep | awk '{ print $2 }'
-e 显示所有进程。
-f 全格式。
grep -v grep是在Linux系统的某些时刻下查看进程的命令,它的作用是排除grep进程本身。
启动:
#!/usr/bin/bash
PID=$(ps -ef | grep serverName | grep -v grep | awk '{ print $2 }')
if [ -z "$PID" ];
then
echo Application is already stopped
else
echo kill $PID
kill -9 $PID
fi
java -Xmx4g -Dlog4j.configurationFile=file:log4j2.xml -classpath ./xxx.jar com..MainServer /config/xxx.setting $1 &
停止:
1.判断文件夹是否存在
if [ ! -d "$myPath"]; then
2.判断文件是否存在
if [ ! -f /tmp/dns.out ] ; then
3.判断字符串是否为空
if [ -z "$pid" ] ; then
4.判断变量值
if [ $# -ne 1 ] ; then
5. 判断$myPath是否存在并且是否具有可执行权限
if [ ! -x "$myPath"]; then
wk
会根据空格和制表符,将每一行分成若干字段,依次用$1
、$2
、$3
代表第一个字段、第二个字段、第三个字段等等。
echo "i love you" |awk '{print $0}' //打印所有行 i love you echo "i love you" |awk '{print $1}' //打印第一个字段 i echo "i love you" |awk '{print $2}' //打印第二个字段 love
grep是在Linux系统下常用的文本搜索工具,其全称是Global Regular Expression Print。grep可以查找文本文件中与给定模式匹配的行。
举个例子,假如我们有一个名为test.txt的文本文件,其中内容如下:
hello
world
hello world
如果我们在终端中输入命令:grep "hello" test.txt
,则会输出:
hello
hello world
说明grep查询到了其中所有包含“hello”的行。
二、 grep -v的意思
grep命令中有一个选项-v,该选项的功能是反选(不包含)所有包含选定模式的行
假如我们在终端中输入命令:grep -v "hello" test.txt
,则会输出:
world
由此可见,选项-v的作用是反选含有模式“hello”的行,只输出不含有该模式的行。
三、 grep -v grep的含义
grep -v grep是在Linux系统的某些时刻下查看进程的命令,它的作用是排除grep进程本身。
通常,我们使用ps命令查看当前运行中的进程,输入命令:ps -ef|grep "ssh"
可以查看所有名为ssh的进程。但这个过程中会获得两个结果,其中之一是grep ssh的命令本身的进程,而非真正的ssh进程。如果我们不想要这个结果,就需要加入“grep -v”选项了。
比如我们输入命令:ps -ef|grep "ssh"|grep -v grep
,则只会输出真正运行中的ssh进程。
四、 grep -v grep示例代码
下面是一个简单的grep -v grep的示例代码:
ps -ef | grep "ssh" | grep -v grep
上述代码可以查看运行中的所有ssh进程,而排除grep命令本身的进程。