關閉Linux服務器上運行的某個程序(長時間休眠)

昨天在寫一個自動發送郵件的python程序,功能是每天定時給朋友發一封郵件。
所有開啓一個死循環的線程,休眠時間是一天,關鍵代碼如下:

while True:
	# 發送郵件
	email.send(receivers, '夏令的每天一句', contents)
	# 每天發送
	ran_int = random.randint(0, 2000) - 1000
	# 一天後在發送
	time.sleep(86400 + ran_int)

想法不錯,爲了關閉ssh遠程窗口的時候,python程序可以繼續在服務器上跑,所以我用的命令是
nohup python "test.py"
在這裏插入圖片描述
在這裏插入圖片描述
運行之後,手機立馬就收到郵件了,很給力,開心,哈哈哈。
樂極生悲。。。
納尼?內容有一個錯別字,這可拐大了。
得趕緊關閉程序修改,想到的命令首先是top,查看任務,如下圖。
在這裏插入圖片描述
等了好久,都沒有找到python的進程,因爲我開啓的線程休眠時間太長了,不會被調度過來。

於是通過ps -A命令查看所有進程,終於找到了一個python的,這時候就可以通過kill pid進行關閉了。
在這裏插入圖片描述
但有時候我們運行了多個python程序,顯示的都是python,那就不知道關哪一個了。這時候就可以使用管道命令|與grep + 程序名 來搜索了,我運行的是“test.py”,可以使用ps -aux | grep "test.py"來搜索,結果如下圖。
在這裏插入圖片描述
前面的20671就是pid,使用kill命令關掉就ok啦!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章