微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python子进程不断自我停止

如何解决Python子进程不断自我停止

我正在运行一个python脚本,在其中使用子进程来调用严重的rclone复制操作。由于rclone不是本机命令,因此我是通过.bashrc文件自动运行的shell脚本定义它的。由于subprocess.run(“ rclone”)正确地拉出了rclone菜单,因此我可以确认它是否有效。

问题是当我运行脚本时,没有任何错误或异常。相反,我的终端窗口显示以下内容

enter image description here

我了解该问题与Linux子进程正在后台相关。但是,this solution 似乎无法解决我的问题,并且我找不到有关如何防止此过程暂停的任何信息。我可以确认它是发行版独立的,因为我已经在RedHat和Amazon EC2上运行过。

最后一个关键信息:我将子进程称为bash而不是sh来通过我的bashrc文件加载别名。这是最小的可复制代码

start_date = datetime.strptime(datetime.Now(timezone.utc).strftime("%Y%m%d"),"%Y%m%d")
# For good measure,double check the day before for more files if the date just changed
time = datetime.utcNow().strftime("%H")
if int(time) <= 3:
    start_date = start_date - timedelta(days = 1)
    end_date = start_date + timedelta(days = 2)

else:
    # End tomorrow
    end_date = start_date + timedelta(days = 1)

# Force python to use the bash shell
def bash_command(cmd):
    subprocess.Popen(['/bin/bash','-i','-c',cmd])

for dt in daterange(start_date,end_date):
    cmd = 'rclone copy "/home/test.png" "AWS test:"'
    bash_command(cmd)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。