【问题标题】:How does a shell script execute another shell script from within itselfshell 脚本如何从自身内部执行另一个 shell 脚本
【发布时间】:2019-06-21 08:56:04
【问题描述】:

我的问题是 shell 脚本如何执行另一个 shell 脚本,它会在新进程中产生吗?还是它与调用它的脚本在同一进程中执行?一个例子是一个 Python 脚本,它在满足条件后从 shell 脚本执行,还有人如何编写这个 shell 脚本,它会生成 Python 脚本,然后在不杀死 Python 脚本的情况下自行退出

【问题讨论】:

  • shell 和 Python 解释器是不同的 programs,因此它们必须以不同的 processes 运行。但是,我很抱歉这个问题太宽泛了。 (1. 从另一个 shell 脚本执行 shell 脚本,2. 从 shell 脚本执行 Python 脚本,3. 在父 shell 脚本完成后保持 Python 脚本运行)请专注于一个问题中的一个主题以获得有意义的答案,是尽可能具体并考虑发布您正在创建的代码。

标签: python linux bash shell


【解决方案1】:

是的,如果您在 shell 中调用 shell 脚本,shell 也会生成新进程。 如果您想生成 python 脚本并退出而不杀死,请在 shell 脚本/后台运行 python 或关闭 python 进程。

【讨论】:

【解决方案2】:

Python 可以产生新的进程并控制它们的生命。

您可以使用 subprocess 等模块创建和管理它们:“子进程模块允许您生成新进程,连接到它们的输入/输出/错误管道,并获取它们的返回码。"

如果你想在其他线程上运行它们,你可以使用multiprocessing:“multiprocessing 是一个使用类似于线程模块的 API 支持生成进程的包。

Shell 脚本有所不同,也许this question(及其答案)可以帮助您了解启动其他脚本的 shell 脚本 :)

【讨论】:

  • 感谢您的回答,我将阅读提供的有关 shell 脚本的链接
猜你喜欢
  • 2012-01-11
  • 2016-09-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-26
  • 2019-02-10
  • 2013-04-18
  • 1970-01-01
相关资源
最近更新 更多