【问题标题】:Stop Process on Network Machine with .Net使用 .Net 停止网络机器上的进程
【发布时间】:2010-07-01 06:57:35
【问题描述】:

在我的项目中,我将这样做: 餐厅里有一台服务器,还有一些在 Windows XP 上运行的称为 Radiant 系统的 pos 机。服务器上会有一个 .exe,这个 .exe 将停止在 Radiant Poses 上运行某些进程。 .Net Remoting 是可能的。但它需要在 Radiant Poses 上编写一个 .exe,但我不想这样做。认为餐厅主服务器和餐厅Radiant Poses的网络访问没有问题。是否可以在不使用 .Net Remoting 的情况下做到这一点?

【问题讨论】:

  • 如果您不想在这些系统上使用 EXE 文件,可以选择 Windows 服务吗?您要关闭的进程如何运行?作为应用程序、Windows 服务还是 Web 服务?您可以通过远程访问另一台服务器上的应用程序(如果远程应用程序配置为远程处理)。
  • 该进程是一个应用程序,如果您查看 KMan 发布的文章链接,这就是我所需要的:)

标签: c# .net remoting


【解决方案1】:

一种方法可能是,使用Remoting 调用KillProcess() 方法,然后调用Process.Kill 方法来终止进程。 This article 值得一看。

【讨论】:

  • 其实,这就是我要找的。谢谢。
  • 我测试了这个应用程序。工作正常,只是要小心权限。
【解决方案2】:

您真的需要为此提供编程解决方案吗?查看 Windows XP 中可用的命令行工具,即taskkill 命令。它允许杀死本地或远程系统上的进程。

语法

taskkill [/s Computer] [/u Domain\User [/p Password]]] 
         [/fi FilterName] [/pid ProcessID]|[/im ImageName] [/f][/t]

...

示例

以下示例展示了如何使用 taskkill 命令:

taskkill /pid 1230 /pid 1241 /pid 1253
taskkill /f /fi "USERNAME eq NT AUTHORITY\SYSTEM" /im notepad.exe
taskkill /s srvmain /f /im notepad.exe
taskkill /s srvmain /u maindom\hiropln /p p@ssW23 /fi "IMAGENAME eq note*" /im *
taskkill /s srvmain /u maindom\hiropln /fi "USERNAME ne NT*" /im *
taskkill /f /fi "PID ge 1000" /im *

【讨论】:

  • 你将如何在服务器上的 Radiant System 上执行这些命令?那时我需要一个编程解决方案。
  • 当您编写的软件在远程机器上生成一个进程并希望在退出之前终止该进程,那么您需要一个编程解决方案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多