我有这个程序,在同一台计算机上的几个用户正在使用(Windows 2008服务器环境与远程桌面客户端)。发送命令到一个进程
当程序正常结束时,它会删除其工作目录中的特殊文件。 我需要能够发送此程序的所有实例一个命令干净关闭(以便它在退出时删除文件)。
什么是最好的方式来做到这一点,以及如何? 我假设每个实例的pid都是一个开始,但那又如何? 任何人有什么好主意?
编辑:忘了提及,它是一个WinForm(不是命令行)程序。
EDIT2:我的意见是太长了,所以我想这是最好的只是编辑,而不是问题...
文件是删除实际上是一个文件,其中包含它的PID。 拥有此文件的原因是为了确保用户不会尝试使用相同参数(登录信息)启动程序两次。
实际启动客户端程序的主程序(控制中心)正在跟踪用户目录中的pidfile。 如果它发现文件它读取pid并尝试查看pid是否存在。 如果没有,它实际上会删除文件并让用户启动客户端窗口。
我猜想通过使用该过程,我可以使其查找与我的应用程序关联的所有pid,并简单地杀死它们,ut我会优先考虑能够发送关闭命令,因为这也会通知用户在IM中,无论出于何种原因,程序都会关闭。 (客户端启动,启动远程服务器,或者在本例中为“本地服务器启动”)。
你不能彻底关闭和基于pid的应用程序 – 2012-07-30 19:55:35
任何“退出时删除文件”的要求是一个令人头痛的问题,这将是一个麻烦,失电是一种典型的故障模式。程序可以在启动备份时轻松删除该文件 – 2012-07-30 20:07:43
我同意Hans的观点,您是否考虑过在启动时删除文件或将值存储在内存中,例如作为'string'。 – 2012-07-30 20:43:06