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

网站的备案all营销软文写作

网站的备案all,营销软文写作,建筑资质最新政策2023年,seo搜索培训如何使用 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.zhongyajixie.com/news/32326.html

相关文章:

  • 做图片带字的网站投放广告的网站
  • 鞍山诺亚人才网关键词优化和seo
  • 请人代做谷歌外贸网站东莞网站推广企业
  • 制作网站公司哪里好什么是网络营销战略
  • 安阳网站建设公司出租车公司seo招聘
  • 免费购物商城网站建设自己建网站要多少钱
  • 杭州做网站的好公司哪家好新东方留学机构官网
  • 医院网站 功能热搜榜排名今日
  • 喀什网站建设百度推广官网优化包括什么内容
  • 视频主持网站建设怎么做产品推广平台
  • 企业邮箱格式怎么写才正确厦门seo屈兴东
  • 日本优秀设计网站sem是什么意思的缩写
  • 重庆做企业网站痘痘该怎么去除效果好
  • 网站建设的法律问题推广文案
  • 中山网站建设找阿 n 2网络推广服务合同范本
  • 进货渠道网企业网站设计优化公司
  • 做网站设计提成赚钱吗手机百度经验首页登录官网
  • 网站去哪里做seo关键词推广方式
  • 网站布局英文google建站推广
  • 天津做网站哪家公司好站长之家权重
  • 网站行销各平台推广费用
  • 网站建设规范短视频推广渠道
  • 江苏建设网站公司泉州排名推广
  • 网站banner特效电商网站定制开发
  • wordpress首页调用文章数量关键词seo排名怎么选
  • 模板手机网站建设公司seo优化关键词分类
  • 自学做网站要多久seo数据是什么意思
  • 404源码网htmlseo网站诊断分析报告
  • 设计网站公司选泽y湖南岚鸿询 问西安seo外包优化
  • 宜布网网站谁做的四川seo推广