当前位置: 首页 > 编程笔记 >

C#实现查杀本地与远程进程的方法

冯宪
2023-03-14
本文向大家介绍C#实现查杀本地与远程进程的方法,包括了C#实现查杀本地与远程进程的方法的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了C#实现查杀本地与远程进程的方法。分享给大家供大家参考。

具体实现方法如下:

using System;

using System.Management;

using System.Threading;

 

class xkill

{

public static void usage()

{

Console.WriteLine();

Console.WriteLine("xkill v1.0 Beta, By R&S");

Console.WriteLine("E-mail: yrwithsh@vip.sina.com");

Console.WriteLine("H-Page: Http://fz5fz.yeah.net");

Console.WriteLine();

Console.WriteLine("Usage:  xkill [ip] [account] [password] [programme] [time(s)]");

Console.WriteLine("If its the localhost,dont need account and password"); 

Console.WriteLine("Example: xkill 218.194.X.X administrator 123 qq.exe 60");

Console.WriteLine("         xkill 218.194.X.X administrator NULL qq.exe 60");

Console.WriteLine("         xkill 127.0.0.1 qq.exe 60 (for localhost)");

 

}

 

public static void Main(string[] args)

{

if((args.Length!=5)&&(args.Length!=3))

{

usage();

Environment.Exit(0);

}

while((args[0]=="127.0.0.1")││(args[0]=="192.168.0.1"))

{

string KillName=args[1];  

ManagementObjectSearcher link = new ManagementObjectSearcher("SELECT * From Win32_Process");

ManagementObjectCollection Collection = link.Get();

foreach (ManagementObject Process in Collection)

{

Console.WriteLine("{0} {1}",Convert.ToString(Process["Name"]).PadRight(15),Process["ExecutablePath"]);

       if (Convert.ToString(Process["Name"])==KillName)

{

string[] Tparas = {"1"}; 

  Process.InvokeMethod("Terminate", Tparas); 

}

 }

Console.WriteLine();

Console.WriteLine("Terminate it yet");

Thread.Sleep(Convert.ToInt32(args[2])*1000);

 }

 

try{

    do

    {

string KillName=args[3];

ConnectionOptions Conn = new ConnectionOptions(); 

Conn.Username =args[1]; 

if(args[2]=="NULL")

{

Conn.Password ="";

}

else Conn.Password =args[2];

ManagementPath p = new ManagementPath("\\"+args[0]+"\root\cimv2");   

ManagementScope ms = new ManagementScope(p,Conn);

ObjectQuery oq = new ObjectQuery("SELECT * FROM Win32_Process");

ManagementObjectSearcher link = new ManagementObjectSearcher(ms,oq);

ManagementObjectCollection Collection = link.Get(); 

     Console.WriteLine("--------------------------------------------------------");

foreach (ManagementObject Process in Collection)

{

Console.WriteLine("{0}{1}",Convert.ToString(Process["Name"]).PadRight(15),Process["ExecutablePath"]);

       if (Convert.ToString(Process["Name"])==KillName)

{

string[] Tparas = {"1"}; 

  Process.InvokeMethod("Terminate", Tparas); 

}

 

}

 

 

Thread.Sleep(Convert.ToInt32(args[4])*1000);  

 }while(true);

}

 catch(Exception exObj)

{

Console.WriteLine();

Console.WriteLine("failed!");

Console.WriteLine(exObj.Message);

}  

}

}

 
希望本文所述对大家的C#程序设计有所帮助。

 类似资料:
  • 本文向大家介绍Shell脚本实现查杀子进程、僵尸进程,包括了Shell脚本实现查杀子进程、僵尸进程的使用技巧和注意事项,需要的朋友参考一下 核心服务器上跑了一堆的脚本、程序,难免有时候会出现僵尸进程,死不死活不活的在那里占用资源,最初只是写了个根据关键字查杀进程的linux shell脚本,后来发现很多时候进程死在那里的时候其实是内部调用子进程的时候出现了问题,这时候光杀父进程根本没解决根本问题。

  • 问题内容: 我正在使用Paramiko到远程服务器上的文件。 以前,我们是通过来运行此程序的,但事实证明这很不稳定,并且导致了远程调度系统的问题。 我的问题是当脚本捕获到SIGINT时如何杀死尾巴? 我的脚本基于[pythonparamiko模块中的ssh命令长时间运行(以及如何结束它们) 该脚本成功捕获了我,并结束了。但是,它使进程在远程系统上运行。 client.close()和channel

  • 本文向大家介绍PHP实现下载远程图片保存到本地的方法,包括了PHP实现下载远程图片保存到本地的方法的使用技巧和注意事项,需要的朋友参考一下 在使用 PHP 做简单的爬虫的时候,我们经常会遇到需要下载远程图片的需求,所以下面来简单实现这个需求。 1.使用 curl 比如我们有下面这两张图片: 第一步,我们可以直接来使用最简单的代码实现: 那在下载远程图片的时候就可以这样: 2.封装一个类 缕清思路之

  • 本文向大家介绍PHP实现远程下载文件到本地,包括了PHP实现远程下载文件到本地的使用技巧和注意事项,需要的朋友参考一下 代码很简单就不多废话了,直接奉上: 再来个远程下载文件到服务器 以上所述就是本文的全部内容了,希望大家能够喜欢。

  • 问题 你想在一个消息传输层如 sockets 、multiprocessing connections 或 ZeroMQ 的基础之上实现一个简单的远程过程调用(RPC)。 解决方案 将函数请求、参数和返回值使用pickle编码后,在不同的解释器直接传送pickle字节字符串,可以很容易的实现RPC。 下面是一个简单的PRC处理器,可以被整合到一个服务器中去: # rpcserver.py imp

  • 本文向大家介绍C#实现读取被进程占用的文件实现方法,包括了C#实现读取被进程占用的文件实现方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#实现读取被进程占用的文件实现方法。分享给大家供大家参考。具体实现方法如下: 文件“D:\Log\Cargoabc\logfilecargoabc.txt”正由另一进程使用,因此该进程无法访问该文件 logfilecargoabc.txt是一个日志