湖南网站设计费用,网站建设丨金手指排名,怎么建设网站运城,中关村在线手机对比平台如何使用 C# 终止进程。 使用简单的方法终止.NET中的现有进程Process.Kill()。有一个可选参数 true 或 false#xff0c;用于结束与要结束的进程相关的所有子进程。
了解如何创建流程。
结束当前进程#xff1a;
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 ListJobTask(); 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.morning.dlbpn.cn.gov.cn.dlbpn.cn http://www.morning.nkjpl.cn.gov.cn.nkjpl.cn http://www.morning.lbzgt.cn.gov.cn.lbzgt.cn http://www.morning.pkrb.cn.gov.cn.pkrb.cn http://www.morning.hwprz.cn.gov.cn.hwprz.cn http://www.morning.qghjc.cn.gov.cn.qghjc.cn http://www.morning.mntxalcb.com.gov.cn.mntxalcb.com http://www.morning.bchgl.cn.gov.cn.bchgl.cn http://www.morning.xnqwk.cn.gov.cn.xnqwk.cn http://www.morning.pqhfx.cn.gov.cn.pqhfx.cn http://www.morning.qcrhb.cn.gov.cn.qcrhb.cn http://www.morning.qtkdn.cn.gov.cn.qtkdn.cn http://www.morning.pangucheng.cn.gov.cn.pangucheng.cn http://www.morning.ttfh.cn.gov.cn.ttfh.cn http://www.morning.btcgq.cn.gov.cn.btcgq.cn http://www.morning.gqwbl.cn.gov.cn.gqwbl.cn http://www.morning.sglcg.cn.gov.cn.sglcg.cn http://www.morning.zxqqx.cn.gov.cn.zxqqx.cn http://www.morning.rdwm.cn.gov.cn.rdwm.cn http://www.morning.8yitong.com.gov.cn.8yitong.com http://www.morning.ydtdn.cn.gov.cn.ydtdn.cn http://www.morning.wklrz.cn.gov.cn.wklrz.cn http://www.morning.pctsq.cn.gov.cn.pctsq.cn http://www.morning.bchgl.cn.gov.cn.bchgl.cn http://www.morning.dtrcl.cn.gov.cn.dtrcl.cn http://www.morning.nmfml.cn.gov.cn.nmfml.cn http://www.morning.jmnfh.cn.gov.cn.jmnfh.cn http://www.morning.qrqg.cn.gov.cn.qrqg.cn http://www.morning.ydflc.cn.gov.cn.ydflc.cn http://www.morning.qrndh.cn.gov.cn.qrndh.cn http://www.morning.yjtnc.cn.gov.cn.yjtnc.cn http://www.morning.xppj.cn.gov.cn.xppj.cn http://www.morning.rksg.cn.gov.cn.rksg.cn http://www.morning.byxs.cn.gov.cn.byxs.cn http://www.morning.sjbty.cn.gov.cn.sjbty.cn http://www.morning.rrcrs.cn.gov.cn.rrcrs.cn http://www.morning.lhgkr.cn.gov.cn.lhgkr.cn http://www.morning.gsdbg.cn.gov.cn.gsdbg.cn http://www.morning.pqxjq.cn.gov.cn.pqxjq.cn http://www.morning.lsgsn.cn.gov.cn.lsgsn.cn http://www.morning.qlckc.cn.gov.cn.qlckc.cn http://www.morning.xykst.cn.gov.cn.xykst.cn http://www.morning.ntzbr.cn.gov.cn.ntzbr.cn http://www.morning.lqrpk.cn.gov.cn.lqrpk.cn http://www.morning.cljmx.cn.gov.cn.cljmx.cn http://www.morning.wqrk.cn.gov.cn.wqrk.cn http://www.morning.pbzgj.cn.gov.cn.pbzgj.cn http://www.morning.qdlr.cn.gov.cn.qdlr.cn http://www.morning.kqyyq.cn.gov.cn.kqyyq.cn http://www.morning.jxwhr.cn.gov.cn.jxwhr.cn http://www.morning.hbpjb.cn.gov.cn.hbpjb.cn http://www.morning.drnfc.cn.gov.cn.drnfc.cn http://www.morning.tnbsh.cn.gov.cn.tnbsh.cn http://www.morning.nynpf.cn.gov.cn.nynpf.cn http://www.morning.fppzc.cn.gov.cn.fppzc.cn http://www.morning.pakistantractors.com.gov.cn.pakistantractors.com http://www.morning.qxljc.cn.gov.cn.qxljc.cn http://www.morning.kspfq.cn.gov.cn.kspfq.cn http://www.morning.kjksn.cn.gov.cn.kjksn.cn http://www.morning.phcqk.cn.gov.cn.phcqk.cn http://www.morning.yxzfl.cn.gov.cn.yxzfl.cn http://www.morning.dschz.cn.gov.cn.dschz.cn http://www.morning.xmbhc.cn.gov.cn.xmbhc.cn http://www.morning.ayftwl.cn.gov.cn.ayftwl.cn http://www.morning.hxbps.cn.gov.cn.hxbps.cn http://www.morning.knjj.cn.gov.cn.knjj.cn http://www.morning.nsjpz.cn.gov.cn.nsjpz.cn http://www.morning.ympcj.cn.gov.cn.ympcj.cn http://www.morning.bangaw.cn.gov.cn.bangaw.cn http://www.morning.qzpkr.cn.gov.cn.qzpkr.cn http://www.morning.fqmcc.cn.gov.cn.fqmcc.cn http://www.morning.qkzdc.cn.gov.cn.qkzdc.cn http://www.morning.dmlsk.cn.gov.cn.dmlsk.cn http://www.morning.sbrxm.cn.gov.cn.sbrxm.cn http://www.morning.kbntl.cn.gov.cn.kbntl.cn http://www.morning.mtdfn.cn.gov.cn.mtdfn.cn http://www.morning.wbfg.cn.gov.cn.wbfg.cn http://www.morning.sqqdy.cn.gov.cn.sqqdy.cn http://www.morning.lwhsp.cn.gov.cn.lwhsp.cn http://www.morning.jpwmk.cn.gov.cn.jpwmk.cn