zoukankan      html  css  js  c++  java
  • Kill 进程的时候需要注意的地方

    private void FrmBackGround_Load(object sender, EventArgs e)
            {
                updateWatcher = new FrmUpdate();

                //进程的名称
                System.Diagnostics.Process[] xx = System.Diagnostics.Process.GetProcessesByName("PicaUI");//程序集名称

                foreach(System.Diagnostics.Process pro in xx)
                {
                    pro.Kill();
                    System.Threading.Thread.Sleep(5000); //关闭进程需要时间,如果没有休眠的话,很容易出问题的
                }

                maxCount = this.GetFilesCount(Application.StartupPath+ @"\DldUpdate");

                string root = Application.StartupPath;

                this.backgroundWorker1.RunWorkerAsync(root);

                updateWatcher.Show();
            }

     foreach(System.Diagnostics.Process pro in xx)
                {
                    pro.Kill();
                    System.Threading.Thread.Sleep(5000); //关闭进程需要时间,如果没有休眠的话,很容易出问题的
                }

    在Kill()  方法调用的时候后面需要有个休眠的时间,因为关掉一个进程的时候需要点时间,如果没有休眠时间,在你需要覆盖或是拷贝文件的时候就会抛出异常,说文件正在使用, 这个休眠时间有的机器慢点的话设置需要更长的时间

  • 相关阅读:
    rocketMQ
    RocketMQ 事务消息
    Serial,Parallel,CMS,G1四大GC收集器特点小结
    CMS垃圾收集器与G1收集器
    CMS垃圾回收过程
    MySQL中EXPLAIN解释命令 查看索引是否生效
    redis持久化的几种方式
    深入浅出数据库索引原理
    Java中堆内存和栈内存详解
    jvm垃圾回收机制
  • 原文地址:https://www.cnblogs.com/liuxchen/p/2592780.html
Copyright © 2011-2022 走看看