免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2728 | 回复: 8

这个脚本应该怎样写? [复制链接]

论坛徽章:
0
发表于 2008-07-17 09:35 |显示全部楼层
由于某种特殊原因,我需要一个这样的脚本,它的功能是,自动删除(kill)掉除自己(执行这个脚本的进程)和系统进程外的所有进程,要不然,要一个一个地kill好麻烦,有劳各位了!!

论坛徽章:
1
2017金鸡报晓
日期:2017-01-10 15:19:56
发表于 2008-07-17 11:17 |显示全部楼层

  1. create proc killall
  2. as
  3.    begin
  4.    declare @kspid int
  5.    declare @ckspid char(20)
  6.    
  7.    declare a_cur for
  8.    select spid from master..sysprocesses where suid>1

  9.    open a_cur
  10.    fetch a_cur into @kspid

  11.    while @@sqlstatus = 0
  12.    begin
  13.        select @ckspid=convert(char(20),@kspid)
  14.        select "kill "+@ckspid
  15.        exec("kill "+@ckspid)
  16.        fetch a_cur into @kspid
  17.   end
  18. close a_cur
  19. deallocate cursor a_cur
复制代码

[ 本帖最后由 chuxu 于 2008-7-17 11:20 编辑 ]

论坛徽章:
0
发表于 2008-07-17 11:41 |显示全部楼层
谢谢,我对您的敬仰尤如......

论坛徽章:
0
发表于 2008-07-17 13:27 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
发表于 2008-07-20 10:49 |显示全部楼层
原帖由 chuxu 于 2008-7-17 11:17 发表

create proc killall
as
   begin
   declare @kspid int
   declare @ckspid char(20)
   
   declare a_cur for
   select spid from master..sysprocesses where suid>1

   open a_cur
   fetc ...



这里面少了一个END!

为什么我执行的时候

会出现语法错误的提示:
Server Message:  Number  156, Severity  15
Server 'WANGDONG', Procedure 'killall', Line 7:
Incorrect syntax near the keyword 'for'.

论坛徽章:
1
2017金鸡报晓
日期:2017-01-10 15:19:56
发表于 2008-07-21 08:08 |显示全部楼层
呵呵,不好意思,的确少了一个,加在最后就可以了。

论坛徽章:
0
发表于 2008-07-21 10:30 |显示全部楼层

回复 #6 chuxu 的帖子

for  前面少写了一个 cursor!

[ 本帖最后由 wangledahai 于 2008-7-21 10:32 编辑 ]

论坛徽章:
1
2017金鸡报晓
日期:2017-01-10 15:19:56
发表于 2008-07-21 10:45 |显示全部楼层
汗,错误这么多。

论坛徽章:
0
发表于 2008-07-21 11:02 |显示全部楼层

回复 #8 chuxu 的帖子

现在已经可以了 至少我编译过去了!嘿嘿!


create proc killall
as
   begin
   declare @kspid int
   declare @ckspid char(20)
   
   declare a_cur  cursor for
   select spid from master..sysprocesses where suid>1

   open a_cur
   fetch a_cur into @kspid

   while @@sqlstatus = 0
   begin
       select @ckspid=convert(char(20),@kspid)
       select "kill "+@ckspid
       exec("kill "+@ckspid)
       fetch a_cur into @kspid
  end
close a_cur
deallocate cursor a_cur
END
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP