c# 程序定时重启,但进程还在

jsnjlhb 2012-06-02 04:02:17
现在写了个小程序,执行一定次数会自动重启一下,但是呢,发现任务管理器中进程仍在,导致进程里面出现好多
,请请教大家该如何处理

int Count=0
private void timer1_Tick(object sender, EventArgs e)
{
Count++;
if (Count == 1000)//运行1000次后自动重启
{
Process p = new Process();
p.StartInfo.FileName = Application.ExecutablePath;
this.Close();
Application.ExitThread();
Thread.Sleep(10000);
p.Start();
}
}
...全文
239 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jsnjlhb 2012-06-04
  • 打赏
  • 举报
回复
Process.GetCurrentProcess().Kill();
这个不会把我新的进程也杀掉吧?
__天涯寻梦 2012-06-04
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]
Process.GetCurrentProcess().Kill();
这个不会把我新的进程也杀掉吧?
[/Quote]
父进程关了,不会连累到子进程的
__天涯寻梦 2012-06-03
  • 打赏
  • 举报
回复
真要关,顺序也要这样
Process p = new Process();
p.StartInfo.FileName = Application.ExecutablePath;
p.Start();
Thread.Sleep(10000);
Process.GetCurrentProcess().Kill();
jsnjlhb 2012-06-03
  • 打赏
  • 举报
回复
to:bdmh
修改成Application.Exit还是一样的啊,没有什么变化
运行一段时间后进程里面有好几个
bdmh 2012-06-02
  • 打赏
  • 举报
回复
你并没有关闭当前进程啊

Application.ExitThread关闭线程内窗体,改成 Application.Exit

帮助中也提到了

To exit the entire application, call Exit.
__天涯寻梦 2012-06-02
  • 打赏
  • 举报
回复
试试这样
if (Count == 1000)//运行1000次后自动重启
{
Application.Restart();
}

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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