我有一个 Python 脚本,它运行终端命令来完成任务。在脚本中的某一时刻,我启动了一个 wifi 网络,一切都设置得很好,但终端会留下一个闪烁的光标,不接受任何进一步的命令(因为 wifi 命令仍在运行)。我可以输入其他命令并按回车键,但什么也不会发生。继续执行脚本的唯一方法是按 Ctrl+Z 停止 wifi 命令。这样脚本就可以继续运行而不会出现任何问题。
有没有办法打开一个新进程或终端窗口来运行特定的终端命令,以便我可以继续在主窗口上运行来自 Python 的命令?
额外答案:您可以使用 Python 中的线程。这将允许您在继续执行主脚本的同时分别运行命令和函数。
答案1
如果脚本(是的,发布它)不需要用户操作,您可以通过附加&
到命令在后台启动它:
start_the_wifi &
或者,按照您的Ctrl-Z要求bg
将其置于背景中。
阅读man bash
作业控制部分。