我有這個程序,在同一臺計算機上的幾個用戶正在使用(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