asp.net怎么定时杀死指定的进程

chengpei_chen 2008-03-04 09:16:04
我现在想用asp.net做个程序,定时杀死指定的某个进程,比如QQ进程吧,应该怎么实现
...全文
120 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
qiyousyc 2008-03-04
  • 打赏
  • 举报
回复
不可能的,权限问题。
如果能杀了,系统的安全怎么办呢?
牛人 2008-03-04
  • 打赏
  • 举报
回复
接分..

这个不可能,权限问题
stayalive 2008-03-04
  • 打赏
  • 举报
回复
只能对在本地计算机上运行的进程调用 Kill。无法使远程计算机上的进程退出。仅可查看在远程计算机上运行的进程的信息。
chengpei_chen 2008-03-04
  • 打赏
  • 举报
回复
看网上这样写的:
System.Diagnostics.Process mypro=new Process();
try
{
Process[] myProcesses = Process.GetProcessesByName("QQ");

foreach(Process p in myProcesses)
{

if(!p.CloseMainWindow())
{
p.Kill();
}
}
}
catch(Exception e2)
{
Response.Write( "结束进程失败!原因 "+e2.Message.ToString());
}
但是运行失败,提示“结束进程失败!原因 拒绝访问。”,都说是权限问题,请问怎么设置权限才行
winner2050 2008-03-04
  • 打赏
  • 举报
回复
真的要禁止在服务器里面运行QQ,可以删除它。

要不设置杀毒软件的查杀恶意软件的功能

设置QQ的NTFS目录的权限也可以。
kbryant 2008-03-04
  • 打赏
  • 举报
回复
Process.Kill()
chengpei_chen 2008-03-04
  • 打赏
  • 举报
回复
不是杀死客户端的,是杀死服务器端的某个进程
游北亮 2008-03-04
  • 打赏
  • 举报
回复
B/S程序控制客户端的进程,要在客户端开js权限,
B/S程序控制服务器端的进程,则要在服务器端添加权限给匿名用户

都不靠谱
游北亮 2008-03-04
  • 打赏
  • 举报
回复
也不是不可能,但是要手动打开一个网页,网页的作用就是杀进程,
然后这个网页用JS定时刷新。

最后也是最重要的一点:
默认情况下匿名用户没有权限关闭进程,需要把进程管理的权限加给匿名用户,不过这样你的服务器就不安全了,

所以,用windows程序最好,而不要用asp.net管理进程
LutzMark 2008-03-04
  • 打赏
  • 举报
回复
是啊,B/S程序控制客户端的进程不太靠谱
luck0235 2008-03-04
  • 打赏
  • 举报
回复
asp.net杀QQ进程?注意你只能杀服务端进程而不能杀客户端进程哦。

放置一Timer控件,给Timer的elapsed一个较小的值,比如1秒,然后在elapsed中判断是否到了指定时间,如果到了时间就找到QQ进程,调用Process.Kill();
winner2050 2008-03-04
  • 打赏
  • 举报
回复
完全不可能。

只有c/s 程序有这种功能,因为运行这种程序的权限足够大。
stayalive 2008-03-04
  • 打赏
  • 举报
回复
Process.Kill 方法
立即停止关联的进程。

命名空间:System.Diagnostics
程序集:System(在 system.dll 中)

kbryant 2008-03-04
  • 打赏
  • 举报
回复
用计时器(Timer)可以完成你的要求把,

首先在 global.asax 中的 Application_OnStart 事件过程中定义计时器,代码如下:
[VB.NET] global.asax
<%@ import Namespace="System.Timers" %>
<script runat="server">

Sub Application_OnStart(sender As Object, e As EventArgs)
' 创建一个计时器,单位:毫秒
Dim aTimer As New System.Timers.Timer(10000)

' 将 Fresher 指定为计时器的 Elapsed 事件处理程序
AddHandler aTimer.Elapsed, AddressOf Fresher

' AutoReset 属性为 true 时,每隔指定时间循环一次;
' 如果为 false,则只执行一次。
aTimer.AutoReset = True
aTimer.Enabled = True

' 先给 Application("TimeStamp") 指定一个初值
Application.Lock()
Application("TimeStamp") = DateTime.Now.ToString()
Application.UnLock()
End Sub

Sub Fresher(sender As Object, e As ElapsedEventArgs)
Application.Lock()
Application("TimeStamp") = DateTime.Now.ToString()
Application.UnLock()
End Sub

</script>



然后我们简单写一个 test.aspx 来查看 Application("TimeStamp") 的值。代码如下:
[VB.NET] test.aspx
<%
Response.Write(Application("TimeStamp"))
%>


62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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