以下是使用PyQt5实现连接Linux后台,获取路径大小并判断的示例代码:

import paramiko
from PyQt5.QtWidgets import QApplication, QMessageBox

def check_disk_size():
    # 连接Linux后台
    ssh = paramiko.SSHClient()
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    ssh.connect('your_linux_server_ip', username='your_username', password='your_password')
    
    # 执行命令获取路径大小
    stdin, stdout, stderr = ssh.exec_command("du -sh /dm8/data")
    result = stdout.read().decode('utf-8').split()[0]
    
    # 关闭SSH连接
    ssh.close()
    
    return result

def stop_script():
    # 执行停止脚本命令
    ssh = paramiko.SSHClient()
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    ssh.connect('your_linux_server_ip', username='your_username', password='your_password')
    ssh.exec_command("bash 1.sh stop")
    ssh.close()

def continue_script():
    # 执行继续脚本命令
    ssh = paramiko.SSHClient()
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    ssh.connect('your_linux_server_ip', username='your_username', password='your_password')
    ssh.exec_command("bash 1.sh continue")
    ssh.close()

def main():
    app = QApplication([])
    
    while True:
        disk_size = check_disk_size()
        
        if disk_size > '2G':
            stop_script()
            QMessageBox.warning(None, '警告', '路径大小已超过2G,已停止1.sh脚本')
            break
        else:
            continue_script()
            QMessageBox.information(None, '信息', '路径大小小于2G,继续执行1.sh脚本')
    
    app.exec_()

if __name__ == '__main__':
    main()

注意替换代码中的your_linux_server_ipyour_usernameyour_password为实际的Linux服务器IP地址、用户名和密码。

以上代码使用paramiko库连接Linux后台并执行命令,使用PyQt5库显示消息框来提示用户。循环中通过调用check_disk_size函数获取路径大小,然后根据大小判断执行停止脚本或继续脚本的命令,并弹出相应的消息框提示用户。当路径大小大于2G时,停止循环并停止1.sh脚本;当路径大小小于2G时,继续循环并继续执行1.sh脚本

pyqt5实现连接linux后台获取dm8data路径大小并循环判断当大小大于2G的时候停止1sh脚本;当大小小于2G的时候继续执行1sh脚本

原文地址: http://www.cveoy.top/t/topic/iljV 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录