python實現linux下的簡單程序監控

2021-08-04 03:23:28 字數 1662 閱讀 2894

最近看writeup看的有點頭疼,深深感受到了自己的無知。確實還需要學習很多東西、一點一點的積累!加油!

python確實很強大哦~,要想學好python就得自己多動手堆**!

無聊寫了乙個程序監控的指令碼,就當做是練習。其實最終實現的功能也很簡單。

記錄如下:

0x00:

首先這種寫法要學會哦,雖然不知道具體有什麼用吧,但是這**寫的,看著就很有水平!哈!

def

main

():while

1: psutil_process()

if __name__=="__main__":

main()

import subprocess

import sys

import psutil

import time

import datetime

log_file='monitor_log.txt'

defprint_process_information

(pid):

p=psutil.process(pid)

message='[!][add]pid:'+str(p.pid)+' '+'name:'+p.name()+' '+'username:'+p.username()+' '+'status:'+p.status()+' '+'start_time:'+datetime.datetime.fromtimestamp(p.create_time()).strftime("%h:%m:%s")

print message

fp=open(log_file,'a')

try:

message+='\n'

fp.writelines(message)

finally:

fp.close()

defpsutil_process

(): pids_1=psutil.pids()

time.sleep(2)

pids_2=psutil.pids()

for pid in pids_2:

if pid in pids_1:

#print 'ok!'

pass

else:

print_process_information(pid)

defmain

():while

1: psutil_process()

if __name__=="__main__":

main()

0x03:

最後可以在改進一下

message='[!][add]pid:'+str(p.pid)+'  '+'name:'+p.name()+'  '+'username:'+p.username()+'  '+'status:'+p.status()+'  '+'start_time:'+datetime.datetime.fromtimestamp(p.create_time()).strftime("%h:%m:%s")
這裡可以用格式化輸出。。做個元組什麼的

0x04:

通過這個小小的程序監控,我學習了subprocess和psutil,了解了管道的單方向性。perfect!

python實現linux下ls l的命令

usr bin env python3 coding utf 8 import os import shutil from stat import import pwd import grp import traceback import time defllist path try for nam...

練手,用Python實現Linux下的tree命令

用python實現了linux下的tree命令的基本功能,沒有實現各種引數。寫得不好,歡迎拍磚。覺得原來的沒有python的風格,換了乙個寫法,感覺格式不好看。新的 import os def tree path def tree iter path,prefix path os.path.absp...

Python實現Linux環境下的ls命令

在linux下使用ls命令結合正規表示式,能夠高效地進行檔案搜尋,並通過引數操作檔案,於是就想用python實現這個功能以便在windows上使用 import os import re import sys path os.getcwd substr raw input the sub strin...