Nếu đã từng duyệt qua Task Manager, chắc hẳn bạn sẽ thắc mắc tại sao lại có nhiều process Service Host chạy trên hệ thống, và bạn không thể kill các service này được. Vậy Service Host Process, svchost.exe là gì? tại sao nhiều có quá nhiều tiến trình chạy nó. Hãy cùng Taimienphi.vn tìm hiểu qua bài viết dưới đây.
Service Host Process là gì?
Theo Microsoft:
“ Svchost.exe là tên 1 process hỗ trợ chung cho các dịch vụ chạy từ các thư viện liên kết động (dynamic-link libraries) ”. Cũng giống như rundll32.exe, cả 2 file rundll32.exe và Svchost.exe đều phục vụ cho các dịch vụ trên Windows.
Thời gian trước đây, Microsoft đã bắt đầu thay đổi nhiều chức năng của Windows từ việc sử dụng các dịch vụ Windows nội bộ (chạy file EXE) sang sử dụng các file DLL thay thế. Từ quan điểm lập trình, điều này giúp mã (code) dễ sử dụng hơn và việc cập nhật đơn giản hơn.
Service Host Process, svchost.exe là gì?
Tuy nhiên vấn đề là bạn không thể chạy một file .dll trực tiếp từ Windows giống như file .exe. Thay vào đó nó phải được load từ một file thực thi (exe) được sử dụng để lưu trữ servies DLL. Vì vậy mà process Service Host (svchost.exe) đã được sinh ra.
Tại sao lại có nhiều process Service Host chạy như thế?
Nếu đã từng xem mục Services trong Control Panel, bạn có thể nhận ra rằng Windows đòi hỏi rất nhiều dịch vụ (service). Nếu như mọi dịch vụ đều chạy dưới một process Service Host thì một lỗi trong số chúng có thể làm “sập” toàn bộ Windows . Và vì thế chúng đã được phân tách riêng rẽ nhau.
Các service được tổ chức thành các nhóm logic có liên quan đến phần nào đó, sau đó một Service Host cá biệt sẽ được tạo ra cho mỗi nhóm.
Ví dụ, 1 process Service Host (svchost.exe) chạy 3 dịch vụ (service) liên quan đến tường lửa (firewall). 1 process Service Host khác có thể chạy tất cả các dịch vụ liên quan đến giao diện người dùng.
Trong ví dụ dưới đây, bạn có thể thấy 1 process Service Host chạy nhiều dịch vụ (service) liên quan đến dịch vụ mạng (service network), trong khi process khác chạy các dịch vụ liên quan đến các cuộc gọi thủ tục từ xa (remote procedure calls).
Không chỉ có file svchost.exe mà trên cửa sổ Process chúng ta còn bắt gặp file Conhost.exe nữa, Conhost.exe được bắt nguồn từ đâu? tại sao lại chạy trên PC, tắt Conhost.exe đi được không? cùng tìm hiểu qua bài viết về Conhost.exe tại đây
Có thể làm gì với svchost.exe?
Thực tế thì không nhiều. Trên Windows XP (và các phiên bản trước), máy tính có nguồn tài nguyên hạn chế và hệ điều hành không được tinh chỉnh, do vậy nên ngừng sử dụng các dịch vụ không cần thiết của Windows.
Ngày nay, việc vô hiệu hóa các dịch vụ là không nên. Các dòng máy tính hiện đại được tích hợp RAM và bộ xử lý cao cấp. Thực tế cách mà các dịch vụ Windows được xử lý trên các phiên bản hiện đại đã được đơn giản hóa và việc loại bỏ các dịch vụ mà bạn nghĩ không thực sự cần thiết cũng không ảnh hưởng nhiều đến hệ thống.
Điều đó có nghĩa là nếu nhận thấy một svchost.exe cá thể nào hoặc một dịch vụ nào liên quan đến svchost.exe là nguyên nhân gây lỗi CPU Usage hoặc RAM Usage tăng cao, bạn có thể kiểm tra các dịch vụ có liên quan đó.
Ít nhất việc này cũng là một giải pháp lý tưởng để bắt đầu xử lý sự cố. Có một số giải pháp để xem chính xác các dịch vụ nào đang được lưu trữ bởi một Service Host cụ thể. Bạn có thể kiểm tra mọi thứ trong Task Manager hoặc sử dụng ứng dụng của bên thứ 3 là Process Explorer.
Kiểm tra các dịch vụ liên quan trên Task Manager
Nếu đang sử dụng Windows 8 hoặc Windows 10, các process hiển thị trong tab Processes trên Task Manager .
Nếu 1 process đảm nhận vai trò là Host có nhiều dịch vụ, bạn có thể xem các dịch vụ này bằng cách mở rộng process. Điều này giúp bạn có thể dễ xác định được service nào thuộc process Service Host cá biệt.
Kích chuột phải vào từng dịch vụ để dừng dịch vụ đó, xem dịch vụ đó trên ứng dụng Service Control Panel hoặc tìm kiếm trực tuyến các thông tịn về dịch vụ đó.
Nếu sử dụng Windows 7, quá trình này khó hơn một chút. Task Manager Windows 7 không nhóm các process này theo cùng một cách, không hiển thị tên process thường xuyên - chỉ hiển thị tất cả các svchost.exe cá biệt đang chạy.
Bạn phải đào sâu một chút để xác định các dịch vụ liên quan đến svchost.exe cụ thể.
Mở tab Process trên cửa sổ Task Manager Windows 7, kích chuột phải vào một process svchost.exe cụ thể, chọn Go to Service .
Bạn sẽ được chuyển đến tab Services, nơi các dịch vụ chạy dưới process svchost.exe được chọn.
Ngoài ra bạn còn có thể xem được tên đầy đủ của từng dịch vụ trong cột Description, và có thể lựa chọn để vô hiệu hóa dịch vụ mà bạn không muốn chạy.
Sử dụng Process Explorer để kiểm tra các dịch vụ liên quan
Microsoft và Sysinternals cung cấp cho người dùng công cụ Process Explorer tuyệt vời để làm việc với các process. Chỉ cần tải Process Explorer về máy và chạy - đó là ứng dụng portable nên không cần cài đặt.
Process Explorer cung cấp tất cả các tính năng để xem dịch vụ nào đang chạy như một phần của một process svchost.exe.
Di chuột qua bất kỳ một process để xem cửa sổ popup của tất cả các dịch vụ liên quan đến process, thậm chí cả các process không chạy.
Process này có phải virus?
Bản thân process là một phần chính thức của Windows. Mặc dù có thể virus đã thay thế Service Host bằng 1 file thực thi của riêng nó, nhưng điều này rất khó xảy ra.
Nếu muốn chắc chắn, bạn có thể kiểm tra vị trí file của process. Trên Task Manager, kích chuột phải vào một process Service Host bất kỳ, chọn Option File Location.
Nếu file được lưu trữ trong thư mục Windows\System32 thì bạn có thể yên tâm đó không phải là virus.
https://thuthuat.taimienphi.vn/service-host-process-svchost-exe-la-gi-tai-sao-nhieu-co-qua-nhieu-tien-trinh-chay-no-23762n.aspx
Nếu vẫn muốn chắc chắn hơn, bạn có thể sử dụng các chương trình, phần mềm diệt virus để quét và kiểm tra hệ thống, hiện nay có rất nhiều phần mềm diệt virus bảo vệ hệ thống với sự an toàn tuyệt đối.