当前位置: 首页 > news >正文

佛山高端网站制作公司seo优化排名教程

佛山高端网站制作公司,seo优化排名教程,网站建设 产品拍照,网站策划方案ppt如何使用 C# 终止进程。 使用简单的方法终止.NET中的现有进程Process.Kill()。有一个可选参数 true 或 false,用于结束与要结束的进程相关的所有子进程。 了解如何创建流程。 结束当前进程: System.Diagnostics.Process.GetCurrentProcess().Kill(tru…

如何使用 C# 终止进程。
使用简单的方法终止.NET中的现有进程Process.Kill()。有一个可选参数 true 或 false,用于结束与要结束的进程相关的所有子进程。

了解如何创建流程。

结束当前进程:

System.Diagnostics.Process.GetCurrentProcess().Kill(true);

结束当前计算机上所有名为“notepad”的进程:

static void KillAllNotepadProcesses()
{
    System.Diagnostics.Process[] procs = System.Diagnostics.Process.GetProcessesByName("notepad", "."); // use "." for this machine
    foreach (var proc in procs)
        proc.Kill(true);
}

要结束另一台计算机上名为“notepad”的所有进程:

static void KillAllNotepadProcesses()
{
    System.Diagnostics.Process[] procs = System.Diagnostics.Process.GetProcessesByName("notepad", "Machine-Name-or-IP-Address"); // enter the IP address or machine name
    foreach (var proc in procs)
        proc.Kill(true);
}

结束当前进程的所有其他实例:

static void KillAllOtherInstances()
{
    System.Diagnostics.Process thisProc = System.Diagnostics.Process.GetCurrentProcess();
    System.Diagnostics.Process[] procs = System.Diagnostics.Process.GetProcessesByName(thisProc.ProcessName, "."); // use "." for this machine
    foreach (var proc in procs)
        if (proc.Id != thisProc.Id) // the process Id is unique across all processes while the process name can be common
            proc.Kill(true);
}

完整的现实示例:
        为了扩展上述代码片段,我们准备了以下代码。它使用强力算法来解决π,这对 CPU 来说非常耗电。因此,它会终止(杀死)自身的所有其他实例,以防止机器负担过重。编译此代码并尝试运行多个实例!

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;

namespace KillOtherInstancesAndSolvePI
{
    class JobTask
    {
        public Task task { get; }
        public int id { get; }
        public double pi { get; set; }
        public ulong iterations { get; set; }
        public CancellationTokenSource CancelToken { get; }
        public JobTask(int id)
        {
            this.id = id;
            CancelToken = new CancellationTokenSource();
            task = Task.Run(async () => // async not necessary in this example
            {
                var spaces = Environment.ProcessorCount.ToString().Length;
                iterations = (ulong)new Random().Next() * 10;
                Console.WriteLine("Started Job: {0, -" + spaces + "} Iterations: {1}", id, iterations);
                pi = SolvePi(iterations, CancelToken);
                Console.WriteLine("Job: {0, -" + spaces + "} ended with pi={1}", id, pi.ToString("0.00000000000000"));
            }, CancelToken.Token);
        }
        static double SolvePi(ulong count, CancellationTokenSource cancel)
        {
            //π = 3.14159265358979323846264338327950288419...
            //π = (4/1) - (4/3) + (4/5) - (4/7) + (4/9) - (4/11) + (4/13) - (4/15) + ...
            //π = 4 * (1 - 1/3 + 1/5 - 1/7 + 1/9 - 1/11 + 1/13 - 1/15 + ...)

            double x = 1.0;
            for (ulong i = 2; !cancel.IsCancellationRequested & (i < count); i++)
            {
                if ((i & 1) == 0)
                    x -= 1.0 / ((i << 1) - 1);
                else
                    x += 1.0 / ((i << 1) - 1);
            }
            return 4.0 * x;
        }
    }
    class Program
    {
        static void KillAllOtherInstances()
        {
            System.Diagnostics.Process thisProc = System.Diagnostics.Process.GetCurrentProcess();
            System.Diagnostics.Process[] procs = System.Diagnostics.Process.GetProcessesByName(thisProc.ProcessName, ".");
            foreach (var proc in procs)
                if (proc.Id != thisProc.Id)
                    proc.Kill(true);
        }

        static void Main(string[] args)
        {
            KillAllOtherInstances(); // end the other process before trying to solve PI

            var jobTasks = new List<JobTask>();
            Console.WriteLine("pi={0}", 3.1415926535897932384626433833.ToString("0.00000000000000"));
            Console.WriteLine("Logical Processors: {0}", Environment.ProcessorCount);
            Console.WriteLine("ENTER JOB NUMBER TO TERMINATE AT ANYTIME");

            var spaces = Environment.ProcessorCount.ToString().Length;

            int[] jobsIds = new int[Environment.ProcessorCount];
            for (int i = 0; i < Environment.ProcessorCount; i++)
                jobsIds[i] = i;

            foreach(var jobId in jobsIds)
                jobTasks.Add(new JobTask(jobId));

            Thread.Sleep(250);
            foreach (var j in jobTasks.OrderBy(j => j.iterations))
                Console.WriteLine("Job: {0, -" + spaces + "} Iterations: {1}", j.id, j.iterations);

            Task.Run(() => // create a task to terminate the app when all pi tasks are done
            {
                while (jobTasks.Where(j => j.task.IsCompleted == false).Count() > 0)
                    Thread.Sleep(250);
                Environment.Exit(0);
            });

            while (jobTasks.Where(j => j.task.IsCompleted == false).Count() > 0) // look for a request to cancel a job from the user
            {
                var id = Console.ReadLine();
                JobTask jt = jobTasks.Where(j => j.id.ToString() == id).FirstOrDefault();
                if(jt != null)
                    jt.CancelToken.Cancel();
            }
        }
    }
}

如果您喜欢此文章,请收藏、点赞、评论,谢谢,祝您快乐每一天。 

http://www.hotlads.com/news/2260.html

相关文章:

  • ps做图哪个网站好seo是什么意思如何实现
  • 协会网站建设海淀搜索引擎优化seo
  • 商务型网站模板成品短视频app源码的优点
  • 亿网中国网站管理系统今日国内新闻摘抄十条
  • 做网站app怎么赚钱站长工具pr值查询
  • 网页设计代码模板代码seo关键词查询
  • 网站后台管理进不去了广州最新新闻
  • 网站注册域名位置我们公司在做网站推广
  • 网站解析是什么意思seo黑帽教程视频
  • tk域名站长工具 seo综合查询
  • 阿里巴巴网站的搜索引擎优化案例微信营销的方法和技巧
  • 泰州网站建设公司网站新站整站排名
  • 免费在线做高考试题的网站网站排名前十
  • 经典网站首页企业网络营销推广方案策划
  • 做甜品台的网站网站推广途径和要点
  • 欧米茄女士手表网站搜索推广营销
  • 免费做网站bz3399百度指数免费添加
  • 网站建设各单位强化沟通协作营销网站建设价格
  • 用dw做网站的空格怎么打seo网站推广软件
  • 利用网站做淘宝客sem网站推广怎么做
  • wordpress 列表页长沙seo霜天
  • 广州珠吉网站建设优秀企业网站模板
  • 如何做品牌网站设计sem是什么显微镜
  • 为赌博网站做宣传厦门seo公司到1火星
  • wordpress 压缩网站锦州网站seo
  • 做企业网站需要准备什么材料百度词条优化
  • 常见的网站建设技术计算机培训班
  • 网站做任务挣钱长春seo排名
  • 焦作市建设委员会网站网站页面优化内容包括哪些
  • 如何免费自做企业网站今日头条官网