1. 程式人生 > >【python運維】系統程序管理方法

【python運維】系統程序管理方法

1、程序資訊管理 獲取所有程序的PID >>> pids() [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 15, 16, 17, 178, 179, 182, 184, 252, 253, 254, 255, 256, 473, 517, 518, 522, 523, 524, 531, 544, 568, 594, 627, 1650, 2189, 2190, 2191, 2217, 2683, 3031, 3426, 3471, 3473, 3495, 3498, 3508, 3519, 3546, 3547, 3554, 3578, 3593, 3662, 3672, 3685, 3686, 3694, 3702, 3712, 3749, 3774, 3779, 3792, 3801, 3815, 3877, 3933, 3955, 3963, 3982, 3996, 4077, 4094, 4124, 4125, 4196, 4202, 4204, 4206, 4207, 4208, 4216, 4217, 4315, 4317, 4318, 4342, 4344, 4358, 4391, 4398, 4431, 4432, 4438, 4439, 4443, 4445, 4466, 4467, 4469, 4471, 4475, 4477, 4481, 4483, 4485, 4489, 4497, 4524, 4533, 4535, 4537, 4540, 4541, 4547, 4549, 4552, 4558, 4573, 4593, 4599, 4600, 4601, 4638, 4640, 4642, 4657, 4731, 4752, 4769, 5316, 5429, 5535, 5537, 5539, 14908] 獲取單個程序的資訊(以PID為5537為例)
>>> p = Process(5537) >>> p <psutil.Process(pid=5537, name='sh') at -1209176468> >>> p.name() 'sh' >>> p.exe() //獲取程序的bin路徑 '/bin/bash' >>> p.cwd() //獲取程序工作的絕對路徑 '/root' >>> p.status() //程序狀態 'sleeping' >>> p.create_time() //程序建立時間,以時間戳形式顯示 1512435331.8699999 >>> p.uid / p.gid //分別獲取程序uid和gid資訊 >>> p.cpu_affinity() //獲取程序cpu親和度 [0, 1] >>> p.memory_percent() //程序記憶體利用率 0.025554286948605991 >>> p.memory_info() //獲取程序記憶體rss、vms資訊 pmem(rss=10625024, vms=29462528) RSS
: "Resident Set Size", 實際駐留"在記憶體中"的記憶體數. 不包括已經交換出去的程式碼. 舉一個例子: 如果你有一個程式使用了100K記憶體, 作業系統交換出40K記憶體, 那麼RSS為60K. RSS還包括了與其它程序共享的記憶體區域. 這些區域通常用於libc庫等. RSS只有在程序使用CPU時才更新,如果程序idle了,就再也不會更新,永遠是那麼大。 RSS = sum of private region pages + (sum of shared region pages /        number of references)                                  The number of references is a count of the number of attachments to the memory region.  attachments, for shared regions, may come from several processes sharing the same memory, a single process with multiple attachments, or combinations of these. This value is only updated when a process uses CPU.Thus, under memory pressure, this value may be higher than the actual amount of resident memory for processes which are idle because their memory pages may no longer be resident or the reference count for shared segments may have changed. >>> p.io_counters() //獲取程序IO資訊,包括讀寫IO數及位元組數 pio(read_count=633, write_count=1083, read_bytes=0, write_bytes=0) >>> p.num_threads() //獲取程序開啟的程序數 1 2、popen類的使用
poepn類可以獲取使用者啟動的應用程式程序資訊,以跟蹤程式的執行狀態 >>> from psutil import * >>> from subprocess import PIPE //利用管道標準輸出 >>> p = Popen(["/usr/bin/python", "-c", "print('hello')"], stdout=PIPE) //將p進行例項化,然後就可以獲取這個程序的各種資訊 如: >>> p.name() 'python'

相關推薦

python系統程序管理方法

1、程序資訊管理 獲取所有程序的PID >>> pids() [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 15, 16, 17, 178, 179, 182, 184, 252, 253, 254, 255, 256, 473,

DevOps構建面向應用的管理新思維

運維需要思維的突破,從Ops走向DevOps,從專案走向產品,從資源走向應用~ 很多問題一直在困擾、在思考,為什麼CMDB大部分專案都是失敗的?為什麼討論的更多的是運維自動化而不是IT自動化?為什麼線上問題永遠是運維人的黑鍋?帶著這些問題我們來一探究竟。 今天要和大家闡述一個新的思路——建立面嚮應用

自動化之psutil模組~系統程序管理方法

一、程序資訊 >>> import psutil # 匯入模組 >>> psutil.pids() # 檢視所有程序的PID號 [1, 2, 3, 5, 7,

python深入1內存管理

python1)動態類型1.1)核心思想python中"一切皆對象".作為"動態語言",python遵循"對象與引用分離"的核心思想.1.2)一切皆對象常見的變量,如整數、字符串、列表等,在python中一切皆為對象 a = 1 整數1為一個對象,

日常SharePoint 2013 缺少站點保存為模板選項

服務器 SharePoint 如果您嘗試在SharePoint Server 2013中保存站點,我們沒有看到“將站點另存為模板”選項,則可能是因為該站點已啟用站點發布功能。如 之前文章提到 “SharePoint 2010 缺少站點保存為模板選項” 。在SharePoint 2013中,我們使用Sh

Linux date的使用

spa 時間 ont 時間戳 都是 date 小寫 lin span date的使用 一、常用時間格式 #年、月、日 四位年大寫,其余小寫 [root@localhost ~]# date +%Y #長格式顯示四位數年 2018 [root@local

伺服器wordpress更換伺服器詳細搬家教程

【前言】 博主實在是被阿里雲的雲翼計劃噁心到了,說好的續費同價(9.9/月),到現在卻變成了原價續費(120多/月),學生黨真心傷不起。提交工單居然說優惠只能享受一次,當初宣傳的時候可是說優惠持續到畢業的。呵呵了。感覺阿里就是想圈錢,等你把網站全部部署完成後,恢

伺服器CentOS6 minimal 離線安裝MySQL5.7

【寫在前面】如果看完這篇部落格,對你有幫助的話,歡迎加入全棧技術交流群,群內不定時釋出熱門學習資料,也歡迎進行技術交流,對我的部落格有疑問也可以在群裡@我。《全棧技術交流群歡迎你》 最近在涉密單位做專案,正好碰到線上的專案要遷移。沒辦法,就我一個人在,就只能我上了唄。 因為是涉密

伺服器CentOS7 minimal 離線安裝 gcc perl vmware-tools

CentOS7 minimal 離線安裝 gcc perl vmware-tools 【寫在前面】如果看完這篇部落格,對你有幫助的話,歡迎加入全棧技術交流群,群內不定時釋出熱門學習資料,也歡迎進行技術交流,對我的部落格有疑問也可以在群裡@我。《全棧技術交流群歡迎你》 0. 本機在

Linuxrsync 數據同步備份工具筆記

批量 str arc eba 記憶 系統用戶 登錄 視頻 不用 rsync 可實現全量及增量的本地或遠程數據鏡像同步備份的優秀工具rsync官方詳細說明:http://www.samba.org/ftp/rsync/rsync.htmlrsync學習視頻:http://bl

Python之——系統程序管理方法

獲得當前系統的程序資訊,可以讓運維人員得知應用程式的執行狀態,包括程序的啟動時間、檢視或設定CPU親和度、記憶體使用率、IO資訊、socket連線、執行緒數等,這些資訊可以呈現出指定程序是否存活、資源利用情況,為開發人員的程式碼優化、問題定位提供很好的資料參考。 1、程序

Liunx(九)-Liunx程序管理命令

文件目錄: 一、ps:檢視程序 二、pstree:檢視程序狀態樹 三、pgrep:查詢匹配條件的程序 四、kill:終止程序 五、killall:通過程序名終止程序 六、pkill:通過程序名種植程序 七、top:實時顯示系統中各個程序的資源佔用狀況 八、nice:調整程式執行時的優先順序 九、renice:

系統程序管理方法

一、概要   獲得當前系統的程序資訊,可以讓運維人員得知應用程式的執行狀態,包括程序的啟動時間、檢視或設定CPU親和度、記憶體使用率、IO資訊、socker連線、執行緒數等,這些 資訊可以呈現出指定程序是否存活、資源利用情況,為開發人員的程式碼優化、問題定位提供很好的資料參考。 二、程序資訊 使用

Python開發基礎01-語法基礎

博客園 imp 執行命令 引導 inf 目錄 ndt ftw 作用 開篇導語 整個Python運維開發教學采用的是最新的3.5.2版,當遇到2.x和3.x版本的不同點時,會采取演示的方式,讓同學們了解。 教學預計分為四大部分,Python開發基礎,Python開

Python開發基礎04-語法基礎

2.7 rpo 如果 服務 ati zha unicode 之間 同學 上節作業回顧(講解+溫習90分鐘) #!/usr/bin/env python3 # -*- coding:utf-8 -*- # author:Mr.chen # 僅用列表+循環實現&ld

Python開發:資料型別

基本資料型別 一、整型  int 如:6,73,84 在32位機器上,整數的位數為32位,取值範圍為-2**31~2**31-1,即-2147483648~2147483647在64位系統上,整數的位數為64位,取值範圍為-2**63~2**63-1,即-9223372036854775808~9223

——伺服器裝Linux系統

一、用軟碟通燒錄系統光碟 1·開啟軟碟通軟體,開啟檔案-------選擇Linux系統 2·選擇啟動----寫入硬碟映像 3·開始寫入硬碟映像,靜等進度條走完即可。 二、開始安裝Linux系統

CPU負載

meminfo process 情況 個數 src 分析 並行處理 大於 name 最近對我的本本(4核8線程)用top命令看系統狀況出現了CPU利用率超過200%的情況,非常詫異,查了下相關資料,把這個問題弄清楚了。首先來分析下CPU Load load average

GTD180006:安裝調試GDB

class org .com clas bsp tro targe href -s www.gnu.org/software/gdb/ GTD180006:【運維】安裝調試GDB

GTD180007:LINUX學習

from .com inux adt shel http https chat pub Linux運維入門教程 --阿銘出品 https://ke.qq.com/course/71060#tuin=9a54a3fd10天學會Linux Shell編程 --阿銘出品 htt