asp.net 中 如何杀死 服务器上 形成一个 excel.exe的进程
3个回答
展开全部
这个我做过,好像只能全部杀掉。
代码:
#region 杀死进程
private void KillProcess(string processName)
{
//获得进程对象,以用来操作
System.Diagnostics.Process myproc = new System.Diagnostics.Process();
//得到所有打开的进程
try
{
Process[] pros = Process.GetProcesses();
//获得需要杀死的进程名
foreach (Process thisproc in pros)
{
if(thisproc.ProcessName == "EXCEL")
//立即杀死进程
thisproc.Kill();
}
}
catch (Exception Exc)
{
throw new Exception("", Exc);
}
finally
{
GC.Collect();
}
}
#endregion
代码:
#region 杀死进程
private void KillProcess(string processName)
{
//获得进程对象,以用来操作
System.Diagnostics.Process myproc = new System.Diagnostics.Process();
//得到所有打开的进程
try
{
Process[] pros = Process.GetProcesses();
//获得需要杀死的进程名
foreach (Process thisproc in pros)
{
if(thisproc.ProcessName == "EXCEL")
//立即杀死进程
thisproc.Kill();
}
}
catch (Exception Exc)
{
throw new Exception("", Exc);
}
finally
{
GC.Collect();
}
}
#endregion
2016-03-27 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注
展开全部
asp.net中杀死服务器上形成的一个excel.exe进程的方法:
1、在 global.asax 中的 Application_OnStart 事件过程中定义计时器,代码如下:
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("Excel") 指定一个初值 Application.Lock()
Application("Excel") = DateTime.Now.ToString()
Application.UnLock()
End Sub
定义刷新的子程序:
Sub Fresher(sender As Object, e As ElapsedEventArgs)
Application.Lock()
Application("Excel") = DateTime.Now.ToString()
Application.UnLock()
End Sub </script>
然后简单写一个测试程序来杀掉excel.exe进程:
System.Diagnostics.Process mypro=new Process();
try {
Process[] myProcesses =Process.GetProcessesByName("Excel");
foreach(Process p in myProcesses)
{
if(!p.CloseMainWindow()) {
p.Kill();
}
}
} catch(Exception e2) {
Response.Write( "结束进程失败!原因 "+e2.Message.ToString());
}
1、在 global.asax 中的 Application_OnStart 事件过程中定义计时器,代码如下:
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("Excel") 指定一个初值 Application.Lock()
Application("Excel") = DateTime.Now.ToString()
Application.UnLock()
End Sub
定义刷新的子程序:
Sub Fresher(sender As Object, e As ElapsedEventArgs)
Application.Lock()
Application("Excel") = DateTime.Now.ToString()
Application.UnLock()
End Sub </script>
然后简单写一个测试程序来杀掉excel.exe进程:
System.Diagnostics.Process mypro=new Process();
try {
Process[] myProcesses =Process.GetProcessesByName("Excel");
foreach(Process p in myProcesses)
{
if(!p.CloseMainWindow()) {
p.Kill();
}
}
} catch(Exception e2) {
Response.Write( "结束进程失败!原因 "+e2.Message.ToString());
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
using System.Diagnostics;
Process[] processes = System.Diagnostics.Process.GetProcessesByName("name");
//自己最好看看通过name得到的是不是你想要杀死的进程
foreach (var item in processes)
{
item.Kill();
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询