python执行命令不阻塞

您所在的位置:网站首页 python执行shell不阻塞 python执行命令不阻塞

python执行命令不阻塞

2023-08-29 19:24| 来源: 网络整理| 查看: 265

通过paramiko模块ssh登录linux,然后用exec_command方法执行带有nohup的shell命令不生效,python脚本如下:

import paramiko

import time

ssh = paramiko.SSHClient()

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

ssh.connect('192.168.1.2', 22, 'root', '123456')

ssh.exec_command('nohup ping localhost & \n')

time.sleep(1)

脚本执行完之后ping进程并没有继续运行,这可能是因为exec_command执行完之后立刻关闭通道的原因,换用invoke_shell可以正常运行:

import paramiko

import time

ssh = paramiko.SSHClient()

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

ssh.connect('192.168.1.2', 22, 'root', '123456')

chan = ssh.invoke_shell()

chan.send('nohup ping localhost & \n')

time.sleep(1)

注意,命令最后的回车\n和延时必不可少

补充知识:paramiko远程服务器nohup阻塞问题



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3