日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

PowerShell 2.0 实践(四)管理Windows进程

發布時間:2023/12/20 windows 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PowerShell 2.0 实践(四)管理Windows进程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

上一次我們對Windows服務進行了簡單的管理,學習了獲取本地及遠程計算機上服務的方法,以及查找特定服務,開始、結束、暫停、恢復服務等操作。本次我們來關注一下Windows管理中另一個核心內容:進程管理。

測試腳本下載

本系列所有腳本均在Windows Server 2008 R2 DataCenter (PowerShell 2.0) + PowerGUI Script Editor Free Edition x64中測試通過。


進程是操作系統結構的基礎,是一個正在執行的程序,是計算機中正在運行的程序實例,可以分配給處理器并由處理器執行的一個實體。由單一順序的執行顯示,是一個由當前狀態和一組相關的系統資源所描述的活動單元。

PowerShell中與進程相關的命令主要有5個:

Get-Process

Start-Process

Stop-Process

Debug-Process

Wait-Process


  • 首先來查看一下進程對象的成員:

  • Get-Process | Get-Member

    運行結果:

    可以看到,Get-Process返回的是.NET對象System.Diagnostics.Process的實例,其中有5個別名非常重要:

    Handles

    進程打開的句柄數

    NPM

    進程正在使用的非分頁內存量,以千字節為單位

    PM

    進程正在使用的可分頁的內存量,以千字節為單位

    VM

    進程正在使用的虛擬內存量,以兆字節為單位。虛擬內存包括磁盤上分頁文件中的存儲

    WS

    進程工作集的大小,以千字節為單位。工作集包括進程最近引用的內存的頁面


    查看占用分頁內存最多的前10個進程:

    Get-Process | SortPM-Descending | Select-First 10

    運行結果:

    獲取所有占用 > 50 MB的進程,并倒排序:

    Get-Process | Where {$_.WS -gt 50MB} | SortWS–Descending

    運行結果:


    在PowerShell 2.0中,還可以查看遠程計算機上的進程。

    如下圖所示,虛擬機中計算機的IP為:192.168.200.132:

    Get-Process-ComputerName192.168.200.132

    運行結果:


  • 開啟一個進程。在PowerShell 2.0中,可以在本地計算機上使用Start-Process來啟動一個進程:

  • Start-Processiexplore.exe

    Start-Process只能用于本地計算機。

    運行結果:

    注意,默認會啟動32位的程序,如果想啟動64位的程序,需要添加-FilePath參數,指明64位程序所在位置:

    Start-Process-FilePath"C:\Program Files\Internet Explorer\iexplore.exe"

    運行結果:


  • 結束進程。

  • 首先啟動一個記事本進程,并記錄下來,接著線程休眠3秒,然后結束該進程:

    $notepad= [System.Diagnostics.Process]::Start("notepad")

    [System.Threading.Thread]::Sleep(3000)

    Stop-Process-Id$notepad.Id

    運行結果:

    3秒后記事本會自動關閉。


    4、獲取Word進程所在的目錄信息:

    (Get-ProcessWINWORD).MainModule

    運行結果:


    獲取Excel進程依賴的庫信息

    Start-ProcessEXCEL

    (Get-ProcessEXCEL).Modules

    Stop-Process-NameEXCEL

    運行結果:


    獲取進程的元數據:

    Get-Process | Select Company,Product,ProductVersion

    運行結果:

    Google Chrome的版本號居然沒有被正確識別J


    設置進程優先級:

    每個進程都有相應的優先級,優先級決定它何時運行和接收多少 CPU 時間。最終的優先級共 32 級,是從 0 31 的數值,稱為基本優先級別(Base Priority Level)。系統按照不同的優先級調度進程的運行,0-15 級是普通優先級,進程的優先級可以動態變化,高優先級進程優先運行,只有高優先級進程不運行時,才調度低優先級進程運行,優先級相同的進程按照時間片輪流運行。16-31 級是實時優先級,實時優先級與普通優先級的最大區別在于相同優先級進程的運行不按照時間片輪轉,而是先運行的進程就先控制 CPU,如果它不主動放棄控制,同級或低優先級的進程就無法運行。

    可由PriorityClass屬性讀寫,有效值列表:Normal, Idle, High, RealTime, BelowNormal, AboveNormal。

    $process=Get-ProcessWINWORD

    Write-Host$process.PriorityClass

    $process.PriorityClass="High"

    Write-Host$process.PriorityClass

    運行結果:

    可見,Word的優先級由Normal變為了High。


    5、調試進程:

    Debug-Process-NameWINWORD

    會彈出提示窗口選擇調試器:


    等待進程結束

    Wait-Process-Namenotepad

    腳本輸入窗口會一直等待,直到該進程結束后才可以繼續輸入:

    關閉記事本窗口后:


    小結:

    本次對Windows進程進行了簡單的管理操作,相比Windows服務來說進程管理略顯單一,主要是查看進程與設置進程優先級,但是重要性是一樣的。進程和服務是Windows的基礎功能,維系著運行的程序,如果設置不當可能會引起系統不穩定。此外,PowerShell 2.0增強了遠程處理能力,方便了遠程管理操作。下一次我們來關注一下注冊表的相關操作。


    轉載于:https://blog.51cto.com/jiangjianguo/1200155

    總結

    以上是生活随笔為你收集整理的PowerShell 2.0 实践(四)管理Windows进程的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。