正如标题所示,我如何编写一个bash脚本,例如将3个不同的Python程序作为单独的进程执行?然后我能够访问每个进程以查看登录到终端的内容吗?
编辑:再次感谢.我忘了提到我知道附加&但我不知道如何访问每个进程输出到终端的内容.例如,我可以在不同的选项卡上分别运行所有这三个程序,并能够看到输出的内容.
最佳答案您可以在后台运行这样的作业:command &
这允许您连续启动多个作业,而无需等待前一个作业完成.
如果你启动这样的多个后台作业,它们将共享相同的stdout(和stderr),这意味着它们的输出可能会交错.例如,采用以下脚本:
#!/bin/bash# countup.shfor i in `seq 3`; do echo $i sleep 1done
在后台启动它两次:
./countup.sh &./countup.sh &
您在终端中看到的内容将如下所示:
112233
但也可能看起来像这样:
121323
您可能不希望这样,因为很难确定哪个输出属于哪个作业.解决方案?将每个作业的stdout(和可选的stderr)重定向到单独的文件.例如
command > file &
将仅重定向stdout和
command > file 2>&1 &
在后台运行命令时,会将stdout和stderr重定向到命令文件. This page很好地介绍了Bash中的重定向.您可以通过拖尾文件来查看命令的输出“live”:
tail -f file
我建议使用nohup或screen作为user2676075运行后台作业,以便在关闭终端会话后让您的作业继续运行,例如:
nohup command1 > file1 2>&1 &nohup command2 > file2 2>&1 &nohup command3 > file3 2>&1 &
总结 以上是内存溢出为你收集整理的python – 让bash脚本作为单独的进程执行多个程序全部内容,希望文章能够帮你解决python – 让bash脚本作为单独的进程执行多个程序所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)