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文件,在服务器上直接执行即可。