首页 > 解决方案 > 如何在 bash 的后台运行交互式进程,使用 nohup、管道和 disown

问题描述

一点故事

我必须通过 ssh 在 bash 中启动一个进程(交互式),但它在网络上非常密集,我必须让它在后台运行以防止它在终端断开连接后退出。

我可能有两个选择:

  1. 限制进程可用的网络数量(可能通过trickle命令)
  2. 让它在后台工作

我在尝试使用时遇到了问题trickle,但在尝试使其与 ssh 分开运行后,我可能会再试一次。另外我需要记住,这个过程是交互式的,所以它会问我一个输入,但它只是几个enters。

我尝试了什么
    nohup $(echo "\n\n" | foo option1 --opt2 ) & disown

当我读到它时:我将输入传递给amplify,而不是nohup-it,使其成为后台进程和disown-it。
我不明白我断开连接后它是否真的消失了,nohup.out是空的,我可以在终端中看到输出。

我要什么

你能帮我学习如何在后台运行交互式进程并与 ssh 终端分开吗?

标签: bashbackground-processnohup

解决方案


推荐阅读