如何使用python知道复制过程(scp)是否完成?
我有一个用于日志分析的python程序。 日志位于另一台具有端口号和密码的服务器中 我无法将python代码存储在该服务器中。因此,我需要将文件scp到存储程序的服务器 我这样做:如何使用python知道复制过程(scp)是否完成?,python,shell,centos7,scp,sshpass,Python,Shell,Centos7,Scp,Sshpass,我有一个用于日志分析的python程序。 日志位于另一台具有端口号和密码的服务器中 我无法将python代码存储在该服务器中。因此,我需要将文件scp到存储程序的服务器 我这样做: popen('''sshpass -p "password" scp -r \ admin@192.158.11.109:/home/admin/DontDeleteMe/%s /home/admin/''' % fileName) 但是,如果文件很大,程序将在完成复制过程之前运行。popen()不会等待过
popen('''sshpass -p "password" scp -r \
admin@192.158.11.109:/home/admin/DontDeleteMe/%s /home/admin/''' % fileName)
但是,如果文件很大,程序将在完成复制过程之前运行。popen()
不会等待过程完成。您可以使用subprocess.call()
:
根据Python的观点:
子流程
模块允许您生成新流程,连接到它们的输入/输出/错误管道,并获取它们的返回代码此模块打算替换几个旧模块和功能:
os.system
os.spawn*
os.popen*
popen2.*
commands.*
os.system
os.spawn*
os.popen*
popen2.*
commands.*