python - 如何使用 python 将 bash 命令发送到命令行并执行下一个命令而不等待 bash 命令执行?
问题描述
我想在超级计算机节点的 3 个独立核心处理器上执行 3 个独立的 bash 命令。我有一个 python 脚本,它通过 os.system 将 bash 命令发送到命令行,但是在转到 python 脚本的下一行之前,它似乎执行了 bash 命令以完成。我只想一个接一个地将bash命令发送到命令行。
for i in range(0, len(core), 8) :
os.system("bpsh "+str(1)+" nohup python /home/tree_df_unchuncked.py "+str(' '.join(core[i]))+" 0.01"+" y")
os.system("bpsh "+str(1)+" nohup python /home/tree_df_unchuncked.py "+str(' '.join(core[i+1]))+" 0.01"+" y")
os.system("bpsh "+str(1)+" nohup python /home/tree_df_unchuncked.py "+str(' '.join(core[i+2]))+" 0.01"+" y")
解决方案
考虑从您的 python 程序构建一个 shell 脚本文件,然后执行该 shell 脚本。在构建 shell 脚本时,在每行的末尾放置一个 &。将等待命令放在程序末尾也很有用,这样 shell 脚本将暂停,直到所有后台命令(并行运行)完成。
#/bin/bash
a &
b &
c &
wait
如果你的代码被格式化,我可以给你一个更具体的答案,以便我可以复制和粘贴它然后执行它。
推荐阅读
- sql - 如何在sql中搜索日期行?
- android - Android 30 docker hub 映像的 Sysdig 扫描问题
- python - 删除有条件的行(多索引情况)
- asp.net-web-api - Blazor Webassemby:对象引用未设置为对象 i 的实例
- zapier - 使用 Zapier 在 ActivCampaign 标签中传输 UTM 参数
- javascript - 可以在应用程序在后台时以编程方式解锁 Android 设备,但不能在应用程序在 React Native 中被杀死时解锁
- flutter - 有没有办法用原始位输入编辑 PDF 文件
- python - Keras 损失:nan 在更长的 lstm 回顾中
- android - 安卓。ConstraintLayout:约束端不起作用
- phpexcel - PHPExcel图表X轴刻度线之间