python創(chuàng)建帶有時間的文件,并將top輸出到此文件

前言:
記錄top命令,查看內(nèi)存使用情況,追蹤進程運行情況。

方法
1、在Python中,你可以使用subprocess模塊來運行top命令,并將輸出重定向到一個帶時間戳的文件中。:

  • 在此服務(wù)器創(chuàng)建目錄:/root/top_output
  • 將python腳本存放到此目錄,
  • 編輯腳本內(nèi)容如下:vim top.py
import subprocess
import time
import os
 
# 自定義環(huán)境變量,防止crontab 輸出列不全
os.environ['COLUMNS'] = '300'
# 創(chuàng)建帶有時間戳的文件名
timestamp = time.strftime("%Y-%m-%d_%H-%M-%S")
filename = f"top_output_{timestamp}.txt"
 
# 運行top命令,并將輸出重定向到文件
with open(filename, 'w') as file:
    subprocess.run(['top','-c','-o','%MEM', '-b', '-n', '1'], stdout=file)

這段代碼使用subprocess.run函數(shù)運行top命令,-b-ntop命令的參數(shù),-b表示批處理模式,-n后跟數(shù)字表示運行次數(shù)。這里設(shè)置為1表示top命令將只運行一次,并將輸出存儲到指定的文件中。文件名包含了時間戳,確保每個文件名都是唯一的。
top -c:顯示命令完整路徑,就是COMMAND字段對應(yīng)的值
top -o %MEM:統(tǒng)計各進程內(nèi)存占用,默認降序

2、定時任務(wù)

  • 將它添加到crontab中,定時執(zhí)行。例如,每5分鐘自動執(zhí)行一次
*/5 * * * * cd /root/top_output/ &&  python3 top.py

這里需要注意一下,先cd到目錄,再執(zhí)行python 腳本。
在哪個目錄執(zhí)行python,輸出會在此目錄。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容