我从终端启动了安装过程,对此有两个疑问:
- 如何在不终止安装过程的情况下关闭终端?以及如何再次恢复它?
- 我如何才能知道这个终端已经完成了从另一个终端的处理,以便我可以根据第一个终端的结果执行其他处理?
答案1
对于 1. 您需要将正在运行的进程发送到后台并从当前 shell 中删除相关作业。
- 按Ctrl+Z并输入
bg
将安装过程发送到后台 - 然后输入
disown
。
现在您可以关闭终端,该进程仍将处于活动状态。您可以打开另一个终端并使用以下命令检查其进程 IDps -aef
在我的例子中,进程 ID 是14426
。不幸的是,没有简单的方法可以将其重新连接到另一个终端(请参阅如何将终端附加到分离的进程?) 除非你使用了基于 的东西screen
。
对于2.您可以使用以下命令:
while kill -0 14426 >/dev/null 2>&1; do sleep 5 ; done ; echo "ok"
ok
当进程结束时,它将从另一个终端打印出来。当然,你可以echo
用更复杂的命令来更改这个命令。