所讨论的应用程序是DaVinci解决方案。我从终端开始。当我关闭它时,来自应用程序的消息“套接字断开”被写入终端输出。然后bash提示符显示为正常。我开始输入新命令,突然另一条消息出现在终端“套接字断开”中。这干扰了我的输入。看起来是这样的:
[andrew@unihost ~]$ davinci-resolve
... # Now I exit the application.
Host 'Fusion' Removed
FusionScript Server [37457] Terminated
Socket disconnected
[andrew@unihost ~]$ ls ls Socket disconnected
wtf!!!^C
[andrew@unihost ~]$视频演示:https://youtu.be/arcCOjrN7kw
为什么会发生这种情况,是否有办法防止这种情况发生?
我的猜测是,主进程有子过程,即使在主进程死后,这个子进程仍然是活着的。我找到了这的答案。那是开发商的错吗?我能以某种方式解决这个问题吗(也许不适合子进程)?
发布于 2022-04-06 02:35:12
您可以键入控制-L清除屏幕。这将清除“套接字断开连接”消息,但将保持命令提示符和部分写入命令的完整性。不幸的是,它也将清除davinci解决方案的输出,这对于您所要做的事情可能是可行的,也可能是不可行的。
发布于 2022-04-06 03:24:32
如果“套接字断开连接”消息在主进程退出后很快出现,您可以将; sleep 2添加到命令中,并将其放入shell别名中。这基本上是一种提醒自己不要马上输入新命令的方法。要做到这一点,请添加
alias davinci-resolve="davinci-resolve; sleep 2"给你的.bashrc
https://unix.stackexchange.com/questions/698112
复制相似问题