• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

如何批量杀掉进程?

发布: 2007-6-08 22:43 | 作者: seanhe | 来源: | 查看: 42次 | 进入软件测试论坛讨论

领测软件测试网
   

 flybirdxp 回复于:2002-12-16 12:07:09
if test $# -eq 0
then
    echo "Usage: killproc procname"
    exit 0
fi
for i
    do ps -ea | awk -v name=$i '
        BEGIN {
            n = 0;
        }
        $4 == name && !system("kill -9 " $1) {
            print $1, "killed"
            n ++
        }
        END {
            if (n == 0)
                print "No process killed !"
            else
                print "Kill", n, name, "process !"
        }'
done


 king1981 回复于:2002-12-16 17:00:37
我也有一个
它是 杀同一有户的
它的作者是::MARTIN .P
#include <stdio.h>

main(argc, argv)
  int argc;
  char *argv[];
{
  char *prog,
       *user,
       command[1024],
       *strrchr();

  if ((prog = strrchr(argv[0], '/')) == 0)
    prog = argv[0];
  else
    prog++;

  if (argc != 2) {
    fprintf(stderr, "Usage: %s <user>\n", prog);
    exit(1);
  }
  user = argv[1]

  setuid(0);
  setgid(0);

  /* There is a better way but this is easy to program.               */
  sprintf(command, "\
ALL_PROC=''\n\
for PROC in `ps -u%s | cut -c-6`\n\
do\n\
    if [ $PROC != PID ]\n\
    then\n\
        ALL_PROC=$ALL_PROC\\ $PROC\n\
    fi\n\
done\n\
if [ -n $ALL_PROC ]\n\
then\n\
    kill -9 $ALL_PROC\n\
fi\n", user);

  system(command);
} /* main() */




 yuanmeng 回复于:2002-12-17 11:49:56
  多谢了!

 sdccf 回复于:2002-12-17 14:16:43
我这里有一个根据终端号杀进程的SHELL,也是我们机房每天都使用的。

echo -n " 输入终端号:" 
read ttynum 
ps -t $ttynum|awk '{print "kill -9 " $1}'>kill_pid 
TMP=/tmp/tmpfile_$$ 
sed -e 's/kill -9 PID/ /g' < kill_pid > $TMP 
mv $TMP kill_pid 
sh kill_pid 


 kingwoo 回复于:2002-12-17 16:00:50
給你一个最简单的
#/usr/bin
ps -e|egrep $1 |awk "print \"kill -9\" \$1}" | /bin/sh

 king1981 回复于:2002-12-26 21:08:19
有时候要注意 -9  的权限哦哥哥~~~~~~~~~~~~~ 

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网