Windows 10 中進程和服務的區別
Windows 10 中進程和服務的區別
前幾天在忙著寫攻略的時候,Chrome開始卡頓了,不得不打開“任務管理器殺死相關的進程。 我意識到還有另一個名為“服務”的選項卡,並開始想知道兩者之間有什麼區別? 當您可以從“進程”選項卡中終止應用程序時,為什麼還要將該選項卡放在任務管理器中? 我想到了。 所以呢 區別 在 Windows 10 中的進程和服務之間? 讓我們找出這兩者有何不同,為什麼它們需要彼此,以及它們有何相似之處。
開始吧。
1.流程和服務有什麼不同
進程是您在計算機上打開並運行的計算機程序或應用程序的一個實例。 可以做到 使用一個或多個線程. 一個程序可以運行多個進程。 讓我們舉個例子。 當您打開 Chrome 時,即使打開單個窗口,您也會在任務管理器的進程選項卡下看到多個 Chrome 進程。
我注意到這適用於所有瀏覽器。 在上面的示例中,您會注意到 勇敢的瀏覽器 即使沒有安裝一個擴展,它也有幾個進程正在運行。 無論如何,這些進程與我們當前在 Windows PC 上運行的應用程序直接相關,具有與之交互的用戶界面,並且通常是手動運行的。
因此,當我運行 Skitch 時,該過程會運行。 更多示例包括 Skype、MS Office 應用程序、照片編輯器等。
另一方面,服務是在後台運行的計算機程序,無論您是否在前台打開了應用程序。 這意味著它並非完全由最終用戶製作或運行,而是幫助軟件執行他們的任務。
沒有 服務用戶界面. 在 Windows Vista 之前,他們有一個 GUI,但它已被棄用。 該服務通常由操作系統本身啟動。 但是,用戶可以手動啟動或重新啟動它。
服務也可以在滿足條件時啟動,例如在事件中。 一個事件的例子是操作系統的啟動。 例如,事件記錄、錯誤報告、打印、設備優化和傳感器相關服務。
2. 流程和服務有什麼相似之處
讓我們舉一個服務的例子,它也是一個進程。 防病毒軟件有一個用戶界面,但它也可以在前台運行。 這是因為服務是一個進程,但一個進程可能是也可能不是服務。 讓我們更深入地了解。
進程是可執行文件的一個實例。 這就是為什麼每次打開應用程序時至少有一個進程在運行。
另一方面,服務作為 svchost.exe 進程的示例運行,主要是(DLL 文件)。 這是 Windows 服務主機進程。 請注意 svchost 也是一個可執行文件,而服務主機與進程相同? 同樣,服務可以是進程,但進程可能是也可能不是服務。
讓我們再舉一個例子。 小時 。 時鐘始終在您的計算機上運行,無論它是否打開。 當計算機處於睡眠或休眠模式時,它也可以工作。 見鬼,即使計算機關閉了幾個小時,它也總是能得到正確的日期和時間。
這是因為它是一個在後台運行服務 (W32Time) 的進程,無需用戶告訴它該做什麼。 但是,如果您想從實用的設置中使用用戶界面,您可以根據自己的喜好對其進行編輯。
與需要知道該做什麼的進程不同,服務完全能夠在沒有用戶輸入的情況下自行操作。 安裝包(.msi 文件)時,它需要在後台運行 Windows 安裝程序服務。 但大多數情況下,當關聯的應用程序關閉時,該過程就會終止。 該服務繼續在後台運行,即使它有一個與關閉的用戶界面相關聯的進程。
另一個重要的區別是,只要用戶界面(GUI 窗口)打開,該進程就被設計為運行,而服務被設計為在後台長時間運行。 通常,服務也比進程擁有更多的管理員權限。 這是因為進程是用戶服務(為最終用戶設計),而服務是 Windows 服務(為 Windows 操作系統設計)。
例如,有些應用程序(用戶進程)只有在您以具有管理員權限的用戶身份登錄時才能使用。 但是,無論您使用什麼用戶配置文件登錄,服務(Windows 進程)都在後台運行。 再一次,這款手錶是適合所有用戶的絕佳示例。
服務交付是一個過程
運營和服務是同一枚硬幣的兩個方面。 一種是為最終用戶開發的,另一種是為系統開發的。 因此,一個有 GUI,而另一個沒有。 有時,它們會相互干擾,即當您運行流程服務時,而不是相反。
下一個: Windows 10 中應用和程序的區別