这个脚本应该怎样写?
由于某种特殊原因,我需要一个这样的脚本,它的功能是,自动删除(kill)掉除自己(执行这个脚本的进程)和系统进程外的所有进程,要不然,要一个一个地kill好麻烦,有劳各位了!!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
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
[ 本帖最后由 chuxu 于 2008-7-17 11:20 编辑 ] 谢谢,我对您的敬仰尤如...... 原帖由 chuxu 于 2008-7-17 11:17 发表 http://bbs.chinaunix.net/images/common/back.gif
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:Number156, Severity15
Server 'WANGDONG', Procedure 'killall', Line 7:
Incorrect syntax near the keyword 'for'. 呵呵,不好意思,的确少了一个,加在最后就可以了。
回复 #6 chuxu 的帖子
for前面少写了一个 cursor![ 本帖最后由 wangledahai 于 2008-7-21 10:32 编辑 ] 汗,错误这么多。
回复 #8 chuxu 的帖子
现在已经可以了 至少我编译过去了!嘿嘿!create proc killall
as
begin
declare @kspid int
declare @ckspid char(20)
declare a_curcursor 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
页:
[1]