python遠程執行腳本
① CentOS下後台運行python腳本及關閉腳本的一些操作
自己寫了一個python腳本,但是直接遠程用putty連接後#python xxx.py執行,關閉putty腳本也隨之關閉了,這里需要用到『setsid』這個命令。
#setsid python xxx.py
如此即可將腳本加入到後台執行
若想查看所有後台運行的進程
#ps -aux
這里可以看到每個進程都有一個PID,如果想殺死這個進程,則使用
#kill-9[PID]-9表示強迫進程立即停止
nohup python -u test.py > out.log 2>&1 &
② python腳本怎麼獲取遠程linux伺服器的進程名
進程信息
/proc目錄包含了所有正運行的進程目錄。這些目錄的名字和進程的標識符是一樣的。所以,如果你遍歷/proc目錄下那些使用數字作為它們的名字的目錄,你就會獲得所有現在正在運行的進程列表。在下面的代碼中process_list()函數返回所有現在正在運行的進程的標識符列表。當你執行這個程序後,這個列表的長度就是在系統上運行的總進程數。
復制代碼 代碼如下:
#!/usr/bin/env python
"""
List of all process IDs currently active
"""
from __future__ import print_function
import os
def process_list():
pids = []
for subdir in os.listdir('/proc'):
if subdir.isdigit():
pids.append(subdir)
return pids
if __name__=='__main__':
pids = process_list()
print('Total number of running processes:: {0}'.format(len(pids)))
上面的程序當執行後會顯示和下面類似的輸出:
復制代碼 代碼如下:
Total number of running processes:: 229
每個進程目錄包含了一些其他文件和目錄,如進程命令的調用,它正使用的共享庫以及其它的。
建議看看《Linux就該這么學》這本書
③ python 模擬 ssh 執行遠程命令
日常開發連接 Linux 伺服器,都會用到 ssh 客戶端的軟體
其實 python 有一個模塊,可以簡單模擬一個 ssh 客戶端/服務端
編寫一些自動化的的任務時,會經常和它打交道
簡單記錄一下 paramiko 的基本使用
paramiko 不是標准庫,需要自行安裝
要腔粗求 py2.7,3.4 版本以上 [1]
在得到一個 ssh_client 客戶端連接對象後
第一次和伺服器建立連接,需要選擇是否自動將伺服器的 host_key 公鑰,記錄在本地
因為,在計算機的世界裡,沒有永久的朋友-- IP 短時間里不會刷新,但是山頌系統可能隨時被重置
否則會報錯提示:
可以加入 logging 模塊,查看詳細的通訊過程
使用三個變數,獲取返回的信息對象
讀取命令的執行結伍唯鎮果
④ pythonftp連接遠程執行cmd
pythonftp連接遠程執行cmd操作方法如下:
1、pipinstallpywinrm安裝模塊即可。
2、windows系統伺服器需要開啟winrm服務。
3、cmd命令可以寫成一個.bat文件,在伺服器上直接執行即可。