上次老大出差,让我写了个start.sh脚本,一直用着,但是关闭窗口就停止了。今天改了改,末尾加个&,在后台运行。
最近项目快结束了,又让我写个stop.sh。
我就百度
http://blog.sina.com.cn/s/blog_61c006ea0100mkax.html
#!/bin/bash
pid=`(ps -ef | grep /home/jiao/8.3.1.4b23/etc/gs_express.cnf | grep -v "grep") | awk '{print $2}'`
kill -9 $pid
------------------------------------------------------------------
ps -ef|grep 条件|grep -v grep |awk '{print $2}'|xargs -n1 kill -9
------------------------------------------------------------------
写了
#!/bin/bash
#create by lichao
pid=`(ps -ef|grep myClassName |grep java )|awk '{print $2}'`
kill -9 $pid
基本就是抄着来的。
百度一下意思:
ps 监控和查看后台进程的。 -e ,-f输出的格式
grep 查找文件的 -v:显示不包含匹配文本的所有行。
awk 行处理器,print $2,输出每行第二个字段。
kill这个我知道,杀死进程。
``反引号,将里面的代码当成命令。
| 管道,左右的命令可以同时执行。
先试了一下,
(ps -ef|grep myClassName |grep java )|awk '{print $2}'
打印出来的信息和jps看到的pid是相同的
kill了一下也是可以杀死的。
然后复制到脚本里面,报错了,看了各种格式,引号去掉,括号去掉,都不行。后来将
grep java
条件改成
grep -v grep
才可以了。
其实我开始看到的不是这个博客,最后看到改对的。找不到最先看到的那个了,就把最后这个放到这里了。