簡體   English   中英

如何在遠程服務器上運行命令行程序

[英]How to run a command-line program on a remote server

我已經編寫了在命令行上運行的工具。
我可以在機器上的命令行上對其進行測試,並且工作正常。
然后,我遠程進入目標服務器計算機,並在那里在命令行上運行它,但它仍然可以工作。

但是 ...此工具需要保持運行( 它是監視工具 )。
由於其他人需要使用它,我無法將打開到該計算機的遠程會話打開的時間太長,並且當我關閉遠程會話時,該命令行工具將結束。

我不知道該怎么做,並且想避免編寫Windows服務,但從本質上講,我需要該功能。 我幾乎需要用Windows服務包裝命令行工具,該服務在斷開連接時仍可以在目標計算機上運行。

任何人都可以提供有關如何執行此操作的見解/策略嗎?

編輯:
以下兩個帖子均對您有所幫助。

如果是Windows Server 2003或更早版本,則可以使用Srvany.exe將任何應用程序作為服務運行。 有關詳細信息,請參見此處

如果是Windows Server 2008,則SrvAny不受官方支持,但是您可以通過從Win2003 Resource Kit或更早版本中復制它,然后將其與Thomas Answer中的說明結合使用,以破解它。

但是,編寫適當的Windows Service確實非常簡單,這是確保它與其他所有文件愉快地共存的最佳方法。

只需在Visual Studio中創建Windows服務項目。 在OnStart中,您將創建一個運行代碼的線程。 在OnStop中,使用標志來停止服務。 然后,您可以稍后再做。

另一種解決方案是使用PsExec以分離模式在遠程計算機上啟動監視工具,即:

PsExec.exe \\remote_machine -d C:\...\monitoring_tool.exe

PsExec.exe在遠程計算機上啟動monitoring_tool.exe,然后自行終止。 它不等待Monitoring_tool.exe終止。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM