當運行程序(如記事本)作爲服務時,是否看不到該程序? 我看到在任務管理器中運行的記事本,但我實際上看不到它的實例正在運行。爲什麼是這樣?爲什麼通過服務運行程序時,程序是否實際顯示?
1
A
回答
1
服務是指作爲後臺應用程序,而不是前臺應用程序。一般而言,它們不通過用戶直接輸入或通過IPC進行用戶輸入(通常爲多個應用程序提供集中點進行通信)。
這是不常見的安裝任何應用程序,只是作爲服務運行。作爲服務運行的應用程序通常專門設計爲這樣做,因爲它們執行某些任務,並且可能希望始終運行以執行此類任務。
0
的應用程序實際上需要支持作爲服務運行 - 通常是通過識別「\服務」命令行鍵來完成。有些應用程序會識別「\ service」鍵的缺失,並且不執行任何操作或顯示警告。
當一個應用程序啓動「作爲服務」這通常意味着它必須在後臺連續工作,有一個機會,當前沒有用戶登錄。這就是爲什麼它不應該期望任何用戶輸入,因此不顯示窗口。
0
添加上@Quintin羅賓遜的回答,爲什麼他們不能在任務管理器中顯示的原因是因爲他們(通常)從一把傘進程中運行。
爲了讓你更好的圖片,下載並運行Microsoft's Process Explorer,然後按住鼠標移到「的svchost.exe」進程運行的一個。
你應該會看到一些正在其上運行的服務。
0
在Windows所有用戶交互通過Windowstations發生。默認情況下,Windows服務與非交互式工作站「交互」。這不是你連接的電臺,所以你沒有看到任何輸出。
您可以通過更改服務屬性,並啓用「允許服務與桌面交互」更改此行爲。
你可以閱讀更多關於這個here。
0
,作爲一個服務運行的應用程序在默認情況下運行一個單獨的桌面不能用你看到桌面交互(或者是被作爲服務運行其他應用程序啓動)。
如果你想能夠與服務進行交互,你已經設置相應的服務屬性。
話雖這麼說,有什麼你用記事本看到幾乎肯定無關的服務。
相關問題
- 1. 通過服務運行應用程序
- 2. 運行程序時實際上載入RAM的內容是什麼?
- 3. 爲什麼#1程序顯示運行時錯誤,而#2正確運行?
- 4. 通過Java程序運行Java程序
- 5. 爲什麼在運行應用程序顯示logcat時顯示正在運行的設備是空的?
- 6. c#應用程序作爲服務運行有什麼優勢?
- 7. 爲什麼rails應用程序顯示/公共索引列表而不是實際的應用程序?
- 8. 通過Web服務器遠程運行C++程序(Visual Studio應用程序)
- 9. PowerShell運行時通過任務調度程序運行不同
- 10. 程序在運行時什麼都不顯示
- 11. 從服務運行程序
- 12. 什麼是停止執行程序服務運行線程的優雅方法
- 13. 通過shell運行程序
- 14. 是/否提示重新運行程序
- 15. 運行.NET程序作爲服務
- 16. 顯示通知應用程序是否正在運行或在後臺運行
- 17. 實際上'程序順序'是什麼意思?
- 18. 什麼是「服務器應用程序」?
- 19. 什麼可能是gdb運行我的程序,只是bash運行我的程序顯示不同的輸出?
- 20. 顯示C++,同時運行程序?
- 21. C程序...顯示運行時錯誤
- 22. 爲什麼我的程序崩潰時MySQL服務器是unavalibe
- 23. 無法通過Trigger.io運行Android應用程序時到達遠程服務器
- 24. 如何運行通過在C#服務應用程序的GUI應用程序
- 25. 加載和運行Sinatra應用程序的過程是什麼?
- 26. 是否可以在Windows中實現/運行Java實時程序?
- 27. 爲什麼我的程序顯示TypeError?
- 28. 爲什麼程序運行時間不是衡量標準?
- 29. 爲什麼不是運行localhost服務器的以下快速安裝程序?
- 30. 程序如何判斷另一個進程是否作爲服務運行?
現在很明顯我已經回答了問題。 – 2009-11-09 06:55:33