栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Linux 使用 Python 执行多线程命令

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Linux 使用 Python 执行多线程命令

  • 参考链接1:https://blog.csdn.net/qq_27825451/article/details/102909772
  • 参考链接2:https://www.cnblogs.com/sunshine-blog/p/12027606.html
  • 参考链接3:https://www.liaoxuefeng.com/wiki/1016959663602400/1017629247922688
  • 参考链接4:https://blog.csdn.net/liuyanfeier/article/details/62422742

文件 copy.py,

import os
import threading


# 为线程定义一个函数:执行文件复制 rsync shell 命令
def exec_rsync(dataset):
    os.system(f"rsync -P --progress -a /data/{dataset} REMOTE-2080Ti:/usb/dataset")


def main():
    datasets = [
        "OxUvA",
        "TLP",
        "VOT2021",
        "VOT2019_LT",
        "VOT2020_LT",
        "GOT-10k",
        "TrackingNet",
        "LaSOT",
    ]
    for i in range(len(datasets)):
        thread = threading.Thread(target=exec_rsync, args=(datasets[i],))
        thread.start()


if __name__ == "__main__":
    main()

在后台执行:

nohup python copy.py > copy.out 2>&1 &

如果不指定终端的输出保存在哪里,默认存放在 nohup.out 文件中,如果长时间不清理,会占据很大的空间。2>&1 是指将标准错误重定向到标准输出,从而保存在 copy.out 文件中。

这里需要注意一点的就是,nohup 需要配合 exit 使用,不能直接 kill 掉终端。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/827995.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号