bash - 如何在 bash 的后台运行交互式进程,使用 nohup、管道和 disown
问题描述
一点故事
我必须通过 ssh 在 bash 中启动一个进程(交互式),但它在网络上非常密集,我必须让它在后台运行以防止它在终端断开连接后退出。
我可能有两个选择:
- 限制进程可用的网络数量(可能通过
trickle
命令) - 让它在后台工作
我在尝试使用时遇到了问题trickle
,但在尝试使其与 ssh 分开运行后,我可能会再试一次。另外我需要记住,这个过程是交互式的,所以它会问我一个输入,但它只是几个enter
s。
我尝试了什么
nohup $(echo "\n\n" | foo option1 --opt2 ) & disown
当我读到它时:我将输入传递给amplify
,而不是nohup
-it,使其成为后台进程和disown
-it。
我不明白我断开连接后它是否真的消失了,nohup.out
是空的,我可以在终端中看到输出。
我要什么
你能帮我学习如何在后台运行交互式进程并与 ssh 终端分开吗?
解决方案
推荐阅读
- javascript - 事件委托或多个侦听器,用于功能彼此不同的元素
- postgresql - Jelastic 5.4 上的 PostgreSQL 9.6 中不提供区域设置
- angularjs - 如何在java中获取列表的大小?
- excel - IF 语句中出现明显的 Excel 计算错误
- spring - 向 mongo 聚合的结果添加新字段
- javascript - 未捕获的类型错误:无法在“节点”上执行“appendChild”:参数 1 不是“节点”类型。JAVASCRIPT
- gatling - 如何检查加特林会话中是否存在变量?
- ruby-on-rails - Ruby 中 GraphQL 类型的字段定义中感叹号的目的是什么?
- windows - 使用 docker 独立于 Windows 更新
- c# - 向下转换对象不会改变对象本身?