求一小脚本,查找进程号然后kill掉

cuihao 2005-04-28 02:56:35
求一小脚本
查找某一个进程号,用tomcat为例


查找tomcat进程号
然后kill -9 进程号
...全文
774 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
mprogrammer 2005-04-28
  • 打赏
  • 举报
回复
把上面那行改成这个!
pname=`ps -aux | grep '$1\|-Dfile.encoding=ISO-8859-1' | awk '{print $2}'`
cuihao 2005-04-28
  • 打赏
  • 举报
回复
to mprogrammer(风雨中)

你的脚本 是把所有的都杀掉了

我只想杀掉 其中一个进程
例如下面的
[tomcat@localhost bin]$ ps -ef |grep tomcat
tomcat 31100 31098 0 Apr26 ? 00:00:00 [sshd]
tomcat 31101 31100 0 Apr26 pts/1 00:00:00 -bash
tomcat 1701 1699 0 Apr27 ? 00:00:00 [sshd]
tomcat 1702 1701 0 Apr27 pts/0 00:00:00 -bash
tomcat 8051 8049 0 13:54 ? 00:00:00 [sshd]
tomcat 8052 8051 0 13:54 pts/7 00:00:00 -bash
tomcat 8491 31101 0 14:51 pts/1 00:00:00 tail -f localhost_log.2005-04-28.txt
tomcat 8496 8051 0 15:12 ? 00:00:00 /usr/libexec/openssh/sftp-server
tomcat 10408 1 2 16:45 pts/7 00:00:55 /usr/local/jdk/bin/java -Dfile.encoding=ISO-8859-1 -Xmx512m -Djava.endorsed.dirs=/usr/local/tomcat/common/endorsed -classpath /usr/local/jdk/lib/tools.jar:/usr/local/tomcat/bin/bootstrap.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmp
tomcat 10532 8051 0 17:04 ? 00:00:00 /usr/libexec/openssh/sftp-server
tomcat 10731 8052 0 17:27 pts/7 00:00:00 ps -ef
tomcat 10732 8052 0 17:27 pts/7 00:00:00 grep tomcat


我只想杀掉这个进程
tomcat 10408 1 2 16:45 pts/7 00:00:55 /usr/local/jdk/bin/java -Dfile.encoding=ISO-8859-1 -Xmx512m -Djava.endorsed.dirs=/usr/local/tomcat/common/endorsed -classpath /usr/local/jdk/lib/tools.jar:/usr/local/tomcat/bin/bootstrap.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmp


其他的 不需要杀掉
这样改怎么做? 多谢
mprogrammer 2005-04-28
  • 打赏
  • 举报
回复
添加exit1

#!/bin/sh

if [ -z "$1" ]; then
echo "please input program name"
exit 1
fi

pname=`ps -aux | grep $1 | awk '{print $2}'`

if
echo "program pid : $pname"

for name in $pname;
do
echo "kill $name"
kill -9 $name
done
mprogrammer 2005-04-28
  • 打赏
  • 举报
回复
已经测试过, 代码如下!
保存为kill.sh
输入 ./kill.sh tomcat 即可

#!/bin/sh

if [ -z "$1" ]; then
echo "please input program name"
fi

pname=`ps -aux | grep $1 | awk '{print $2}'`

echo "program pid : $pname"

for name in $pname;
do
echo "kill $name"
kill -9 $name
done
hoyt 2005-04-28
  • 打赏
  • 举报
回复
这个地方有一个

http://www.linuxc.net/viewthread.php?tid=109&fpage=1

欢迎访问我的个人网站 www.linuxc.net

23,128

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧