訓練網路經常半夜才訓練完,有時為了不浪費時間,晚上特意調了鬧鐘起來改**、繼續訓練等。大半夜設鬧鐘起來跑**太難受了,所以這次寫了這兩個**,以後少受點罪。
**:
import os
import time
set_time =
'00:00:00'
# 此處設定每天定時的時間
cmd =
''print
("——————————waiting to execute task——————————"
)while
true
: time_now = time.strftime(
"%h:%m:%s"
, time.localtime())
# 重新整理
if time_now == set_time:
time.sleep(2)
# 因為以秒定時,所以暫停2秒,使之不會在1秒內執行多次
subject = time.strftime(
"%y-%m-%d %h:%m:%s "
, time.localtime())
+" running command"
print
(subject)
## 執行命令
os.system(cmd)
break
# 執行完畢退出迴圈
流程:設定指令碼執行時間(如:set_time = '00:00:00'
)
設定執行指令碼命令(如:cmd = 'python 123.py'
),可自行新增多條命令
輸出:
""" windows查詢python.exe程序的processid:
wmic process where name="python.exe" list full
"""processid =
63112
cmd =
''pid = psutil.process(processid)
while
true
: time.sleep(5)
# 每隔n秒查詢一次程序運**況
if pid.is_running():
p = psutil.process(processid)
exec_time = time.strftime(
"%y-%m-%d %h:%m:%s "
, time.localtime())
(exec_time +
'pid-%s, pname-%s'
%(processid, p.name())
)else
('processid is over, running command:'
) os.system(cmd)
break
流程:作者以python.exe為例
1、win+r
進入cmd
介面,輸入命令:wmic process where name="python.exe" list full
,獲取如下資訊:
其中主要確定所執行的py檔案和對應的程序號。linux 和 windows 檢視當前執行的 python 程序及 gpu、cpu、磁碟利用率
2、 設定程序id(如:processid = 63112
)
3、 設定執行指令碼命令(如:cmd = 'python 123.py'
),可自行新增多條命令
執行結果:
主要是讀取gpu剩餘視訊記憶體的大小,再新增到上面的**中作為命令執行的條件。
首先是模組安裝:
pip install nvidia-ml-py3
如果是python2,則 pip install nvidia-ml-py2
讀取顯示卡剩餘視訊記憶體大小
import pynvml
pynvml.nvmlinit(
)# gpu 0 的使用情況
handle_0 = pynvml.nvmldevicegethandlebyindex(0)
meminfo_0 = pynvml.nvmldevicegetmemoryinfo(handle_0)
totol_gpu0 = meminfo_0.total /
(1024**3
)used_gpu0 = meminfo_0.used /
(1024**3
)free_gpu0 = meminfo_0.free /
(1024**3
)print
('totol_gpu0 = '
+str
(totol_gpu0)
+'g'
)# 顯示卡總的視訊記憶體大小
print
('used_gpu0 = '
+str
(used_gpu0)
+'g'
)# 顯示卡已使用視訊記憶體大小
print
('free_gpu0 = '
+str
(free_gpu0)
+'g'
)# 顯示卡剩餘視訊記憶體大小
# gpu 1 的使用情況
# handle_1 = pynvml.nvmldevicegethandlebyindex(1)
# meminfo_1 = pynvml.nvmldevicegetmemoryinfo(handle)
# totol_gpu1 = meminfo.total / (1024 ** 3)
# used_gpu1 = meminfo.used / (1024 ** 3)
# free_gpu1 = meminfo.free / (1024 ** 3)
# print('totol_gpu1 = ' + str(totol_gpu0) + 'g') # 顯示卡總的視訊記憶體大小
# print('used_gpu1 = ' + str(used_gpu0) + 'g') # 顯示卡已使用視訊記憶體大小
# print('free_gpu1 = ' + str(free_gpu0) + 'g') # 顯示卡剩餘視訊記憶體大小
windows指令碼定時執行
linux下可以直接用cron定時任務,window下可以使用schtasks 命令代替。第一次在win7 cmd輸入 schtasks 如果出現錯誤 錯誤 無法載入列表資源 的問題 原因很簡單 點選開啟鏈結 檢視編碼 chcp 發現使用的是936中文gbk編碼 這樣 schtasks.exe qu...
C 定時關機 定時執行程式 結束任務
主視窗 模式包含 指定時間 倒計時 其它事件 動作包含 關機 重啟 其它事件 比市場上最常用的關機軟體多了幾個功能 1 定時的指定時間 最大可以指定到某天 2 可以定時開啟某個檔案 某個程式 3 可以定時關閉某個檔案 某個程式 只需填寫pid 程序pid獲取方式 如有需要可以參考關鍵原始碼 如下 u...
Windows定時執行python程式
當我們希望自己編寫的python程式可以定時執行的時候,可以利用windows的定時計畫任務來實現,借助windows提供的功能來實現定時執行python程式。首先準備好自己的python.py或pyw檔案,拷貝它的路徑。路徑最好是全英文 進入任務計畫程式控制頁面 我的電腦 管理 任務計畫程式 任務...