python學習筆記 jupyter程序管理

2021-10-23 12:16:51 字數 3100 閱讀 9833

當後台有較多jupyter程序後,手工清理比較費時間,

class

processhandler()

:def

_init_

(self)

: self.kill_id=

##檢視處理程序

defshowprocess

(self)

: self.kill_id=!ps -aux | grep 'jupyter'

| grep 'a'

| awk ''

| grep '月'

return self.kill_id

##自動kill程序

defkillprocess

(self)

:###獲取所有程序號

self.kill_id=!ps -aux | grep 'jupyter'

| grep 'a'

| awk ''

| grep '月'

import datetime

curr_time = datetime.datetime.now(

) today=

int(

str(curr_time.month)

+str

(curr_time.day)

) list_date=

[ c.replace(

'月','')

.split(

' ')

for c in self.kill_id]

for i in

range(0

,len

(list_date)):

if today-

int(list_date[i][1

])>0:

node_input=list_date[i][0

] !kill -

9print

('程序 '

+list_date[i][0

]+' killed'

)else

:print

('無程序需要處理'

)

為了解決傳導引數問題,使用os包中的popen來傳遞指令碼

目前實現功能:

1.showprocess 檢視user程序

2.killhistory 清理user程序(跳過當前程序)

3.killcurrent 清理當前user程序

import os

import datetime

class

processhandler()

:def

_init_

(self)

: self.kill_id=

##檢視處理程序

defshowprocess

(self,user_input)

: pro_input=

"ps -aux | grep jupyter | grep "

.format

(user_input)

+" | awk '' | grep 月"

process = os.popen(pro_input)

output = process.read(

) self.kill_id=output.split(

'\n'

)return self.kill_id

##清理歷史程序

defkillhistory

(self,user_input)

: pro_input=

"ps -aux | grep jupyter | grep "

.format

(user_input)

+" | awk '' | grep 月"

###獲取程序列表

process = os.popen(pro_input)

output = process.read(

) self.kill_id=output.split(

'\n'

)##獲取當前程序,避免誤殺

self.current=os.getpid(

)##得到當前日期

curr_time = datetime.datetime.now(

) today=

int(

str(curr_time.month)

+str

(curr_time.day)

) list_date=

[ c.replace(

'月','')

.split(

' ')

for c in self.kill_id]

for i in

range(0

,len

(list_date)):

is_current=

(list_date[i][0

]==os.getpid())

##跳過當前程序

if is_current or list_date[i][0

]=='':

continue

elif today-

int(list_date[i][1

])>0:

node_input=list_date[i][0

] !kill -

9print

('程序 '

+list_date[i][0

]+' killed'

)else

:print

('無程序需要處理'

)##清理當前程序

defkillcurrent

(self,user_input)

: current=os.getpid(

) !kill -

9print

('程序 '

+current+

' killed'

)

python教學筆記 python學習筆記(一)

1.eval 函式 eval是單詞evaluate的縮寫,就是 求.的值的意思。eval 函式的作用是把str轉換成list,dict,tuple.li 1 1,2,3 print eval li 1 di 1 print eval di 1 tu 1 2,4,6 print eval tu 1 執...

python學習筆記

coding utf 8 coding utf 8 應該像八股文一樣在每個指令碼的頭部宣告,這是個忠告 為了解決中文相容問題,同時你應該選擇支援 unicode 編碼的編輯器環境,保證在執行指令碼中的每個漢字都是使用 utf 8 編碼過的。cdays 5 exercise 3.py 求0 100之間...

Python 學習筆記

python 學習筆記 def run print running.def execute method method execute run result running.condition false test yes,is true if condition else no,is false ...