מהו תהליך מארח השירות (svchost.exe) ומדוע כל כך הרבה פועלים?

אם אי פעם גלשת במנהל המשימות, אולי תהית מדוע פועלים כל כך הרבה תהליכי שירות מארח השירות. אתה לא יכול להרוג אותם ובטח לא התחלת אותם. אז מה הם?

תהליך מארח השירות משמש מעטפת לטעינת שירותים מקבצי DLL. השירותים מאורגנים בקבוצות קשורות וכל קבוצה מופעלת בתוך מופע אחר של תהליך מארח השירות. באופן זה, בעיה במקרה אחד אינה משפיעה על מקרים אחרים. תהליך זה הוא חלק חיוני ב- Windows שלא תוכלו למנוע מהפעלתו. 

מאמר זה הוא חלק מהסדרה המתמשכת שלנו המסבירה תהליכים שונים שנמצאו במנהל המשימות, כמו dwm.exe, ctfmon.exe, mDNSResponder.exe, conhost.exe, rundll32.exe, Adobe_Updater.exe, ורבים אחרים. לא יודע מהם השירותים האלה? עדיף להתחיל לקרוא!

אז מהו תהליך מארח השירות?

להלן התשובה, על פי מיקרוסופט:

Svchost.exe הוא שם כללי של תהליך מארח עבור שירותים הפועלים מספריות קישור דינמי.

אבל זה לא באמת עוזר לנו הרבה. לפני זמן מה, מיקרוסופט החלה לשנות חלק ניכר מהפונקציונליות של Windows מלהסתמך על שירותי Windows פנימיים (שרצו מקבצי EXE) לשימוש במקום זאת בקבצי DLL. מנקודת מבט תכנותית, זה הופך את הקוד לשימוש חוזר יותר וניתן לטעון שקל יותר לעדכן אותו. הבעיה היא שאתה לא יכול להפעיל קובץ DLL ישירות מ- Windows באותו אופן שבו אתה יכול לעשות קובץ הפעלה. במקום זאת, מעטפת הנטענת מקובץ הפעלה משמשת לאירוח שירותי DLL אלה. וכך נולד תהליך מארח השירות (svchost.exe).

מדוע פועלים כל כך הרבה תהליכי מארח שירות?

קשורים: מהו התהליך הזה ולמה הוא פועל במחשב שלי?

אם אי פעם בחנתם את קטע השירותים בלוח הבקרה, כנראה שמתם לב ש- Windows דורשת הרבה שירותים. אם כל שירות אחד מתנהל בתהליך אחד של מארח שירות, כשל בשירות אחד עלול להפיל את כל Windows. במקום זאת הם נפרדים.

השירותים מאורגנים בקבוצות לוגיות שכולן קשורות במקצת, ואז נוצר מופע יחיד של מארח שירות לארח כל קבוצה. לדוגמה, תהליך מארח שירות אחד מריץ את שלושת השירותים הקשורים לחומת האש. תהליך מארח שירות אחר עשוי להריץ את כל השירותים הקשורים לממשק המשתמש וכן הלאה. בתמונה למטה, למשל, ניתן לראות כי תהליך מארח שירות אחד מריץ מספר שירותי רשת קשורים, ואילו אחר מריץ שירותים הקשורים לשיחות הליך מרחוק.

האם יש לי משהו לעשות עם כל המידע הזה?

קשורים: האם עליך להשבית את שירותי Windows כדי לזרז את המחשב האישי שלך?

האמת, לא הרבה. בימי Windows XP (ובגירסאות קודמות), כאשר מחשבים אישיים היו בעלי משאבים מוגבלים בהרבה ומערכות הפעלה לא היו מכווננות באותה מידה, לעתים קרובות היה מומלץ למנוע מ- Windows להריץ שירותים מיותרים. בימים אלה איננו ממליצים להשבית שירותים יותר. מחשבים מודרניים נוטים להיות עמוסים בזיכרון ובמעבדים בעלי עוצמה גבוהה. הוסף זאת לעובדה כי אופן הטיפול בשירותי Windows בגרסאות מודרניות (ואילו שירותים מתנהלים) עבר יעיל, ולחיסול שירותים שאתה חושב שאתה לא זקוק לו באמת אין השפעה רבה יותר.

עם זאת, אם אתה שם לב שמופע מסוים של מארח שירות - או שירות קשור - גורם לבעיות, כמו שימוש מוגזם יתר על המידה במעבד או בזיכרון RAM, תוכל לבדוק את השירותים הספציפיים המעורבים. זה עשוי לפחות לתת לך מושג היכן להתחיל לפתור בעיות. ישנן מספר דרכים לבחון בדיוק אילו שירותים מתארחים על ידי מופע מסוים של מארח השירות. אתה יכול לבדוק דברים בתוך מנהל המשימות או להשתמש באפליקציית צד שלישי נהדרת בשם Process Explorer.

בדוק שירותים קשורים במנהל המשימות

אם אתה משתמש ב- Windows 8 או 10, התהליכים מוצגים בכרטיסייה "תהליכים" של מנהל המשימות לפי שמותיהם המלאים. אם תהליך משמש כמארח עבור מספר שירותים, תוכל לראות שירותים אלה פשוט על ידי הרחבת התהליך. זה מקל מאוד על הזיהוי אילו שירותים שייכים לכל מופע של תהליך מארח השירות.

אתה יכול ללחוץ לחיצה ימנית על כל שירות נפרד כדי להפסיק את השירות, להציג אותו באפליקציית לוח הבקרה "שירותים", או אפילו לחפש באינטרנט מידע אודות השירות.

אם אתה משתמש ב- Windows 7, הדברים קצת שונים. מנהל המשימות של Windows 7 לא קיבץ תהליכים באותו אופן, ולא הראה שמות תהליכים רגילים - הוא הראה רק את כל המופעים של "svchost.exe". היית צריך לחקור קצת כדי לקבוע את השירותים הקשורים למופע מסוים של "svchost.exe".

בכרטיסיה "תהליכים" של מנהל המשימות ב- Windows 7, לחץ לחיצה ימנית על תהליך מסוים "svchost.exe", ואז בחר באפשרות "עבור לשירות".

פעולה זו תעביר אותך לכרטיסייה "שירותים", שם כל השירותים הפועלים תחת אותו תהליך "svchost.exe" נבחרים.

לאחר מכן תוכל לראות את השם המלא של כל שירות בעמודה "תיאור", כך שתוכל לבחור להשבית את השירות אם אינך רוצה שהוא יפעל או לפתור בעיות מדוע זה נותן לך בעיות.

בדוק שירותים קשורים באמצעות סייר התהליכים

מיקרוסופט מספקת גם כלי מתקדם מצוין לעבודה עם תהליכים כחלק ממערך Sysinternals שלה. פשוט הורד את סייר התהליך והפעל אותו - זו אפליקציה ניידת, ולכן אין צורך להתקין אותה. סייר התהליך מספק כל מיני תכונות מתקדמות - ואנחנו ממליצים בחום לקרוא את המדריך שלנו להבנת תהליכי סייר למידע נוסף.

קשורים: מהי אפליקציה "ניידת" ומדוע היא משנה?

למטרותינו כאן, עם זאת, Process Explorer מקבץ שירותים קשורים בכל מופע של "svchost.exe". הם רשומים לפי שמות הקבצים שלהם, אך שמותיהם המלאים מוצגים גם בעמודה "תיאור". תוכל גם להעביר את מצביע העכבר מעל כל אחד מתהליכי "svchost.exe" כדי לראות חלון קופץ עם כל השירותים הקשורים לתהליך זה - אפילו אלה שאינם פועלים כרגע.

האם תהליך זה יכול להיות וירוס?

התהליך עצמו הוא רכיב רשמי של Windows. אמנם יתכן שווירוס החליף את מארח השירות האמיתי בהפעלה משלו, אך מאוד לא סביר. אם ברצונך להיות בטוח, תוכל לבדוק את מיקום הקובץ הבסיסי של התהליך. במנהל המשימות, לחץ לחיצה ימנית על כל תהליך של מארח שירות ובחר באפשרות "פתח מיקום קובץ".

אם הקובץ מאוחסן בתיקיית Windows \ System32 שלך, אתה יכול להיות בטוח למדי שאתה לא מתמודד עם וירוס.

קשורים: מהו האנטי-וירוס הטוב ביותר עבור Windows 10? (האם Windows Defender מספיק טוב?)

עם זאת, אם אתה עדיין רוצה קצת יותר שקט נפשי, אתה תמיד יכול לחפש וירוסים באמצעות סורק הווירוסים המועדף עליך. טוב יותר בטוח מאשר להצטער!