如何在现有命令运行时执行新命令?

如何在现有命令运行时执行新命令?

我有一个 Python 脚本,它运行终端命令来完成任务。在脚本中的某一时刻,我启动了一个 wifi 网络,一切都设置得很好,但终端会留下一个闪烁的光标,不接受任何进一步的命令(因为 wifi 命令仍在运行)。我可以输入其他命令并按回车键,但什么也不会发生。继续执行脚本的唯一方法是按 Ctrl+Z 停止 wifi 命令。这样脚本就可以继续运行而不会出现任何问题。

有没有办法打开一个新进程或终端窗口来运行特定的终端命令,以便我可以继续在主窗口上运行来自 Python 的命令?

额外答案:您可以使用 Python 中的线程。这将允许您在继续执行主脚本的同时分别运行命令和函数。

答案1

如果脚本(是的,发布它)不需要用户操作,您可以通过附加&到命令在后台启动它:

start_the_wifi &

或者,按照您的Ctrl-Z要求bg将其置于背景中。

阅读man bash作业控制部分。

相关内容