Linux 使用 Python 执行多线程命令

Linux 使用 Python 执行多线程命令,第1张

  • 参考链接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 掉终端。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/716738.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-25
下一篇 2022-04-25

发表评论

登录后才能评论

评论列表(0条)

保存