2008-11-15 23 views
2

我被要求找到一種方法來從Linux系統連接到幾個Windows服務器之一。我們需要做的是理想地連接到任何Windows服務器造成的問題,殺死進程並重新啓動進程。理想情況下,它可以放入可以從Linux計算機運行的腳本中。到目前爲止,我發現的所有解決方案都涉及某種遠程桌面連接,但正如我所說的,命令行解決方案更可取?這可能嗎?我很抱歉......不是一個編程問題,但我的智慧就此結束。從Linux連接到Windows以執行任務

回答

1

Cygwin的默認ps/kill不允許您訪問Windows進程來殺死它們。

使用cygwin + openssh + windows services在計算機上獲取SSH用戶。

一旦你在命令行SSH的時候,你可以使用標準的Win32工具來殺死一個進程,例如 -

taskkill /f /im notepad.exe 

或者添加其他commandline process tools爲Win32。

編輯:或者你可以只使用ps -elW查看所有的窗口進程,然後將該PID傳遞到taskkill。

2

我用Cygwin與在Windows中(but it is available without Cygwin in an installer)OpenSSH服務器,並可以通過SSH從Linux中登錄到做的東西有一個命令行。我不殺死進程,我進行構建。但同樣的概念適用。

+0

我建議Cygwin來負責該項目的人。他並不認爲將它安裝在每臺Windows服務器上僅僅是爲了這一點而付出的代價是值得的。 – 2008-11-15 02:28:02

+0

你不一定需要整個cygwin,只需要rshd/sshd和cygwin.dll - 我在windows上使用rsyncd做類似的事情。 – 2008-11-15 19:00:47

2

This號稱是Sysinternals的psexec的端口,我沒有用它,但PSEXEC是偉大