linux - 无法从 sh shell 命令提示符退出 telnet session

标签 linux sh telnet busybox

我正在使用“BusyBox v1.22.1 (2015-02-09 13:48:39 IST) 内置 shell (ash) "并且我在后台模式下运行了一个脚本,该脚本在连续 while 循环中运行,但有一些延迟。

然后,我输入了“exit”命令以退出我已启动一个脚本的那个 session 。

但是,我无法从那个 session 中走出来。

有没有人知道这种类型的问题,或者在 busybox 中是否需要任何配置来解决这个问题?

最佳答案

这是因为子进程仍然与 shell 有连接,用于输入和输出。

如果您真的想独立于生成它的父 shell 运行子进程,那么您需要做两件事:首先是使用 nohup 命令启动程序,第二个是重定向标准输入、输出和错误流。

所以做一些类似的事情

$ nohup ./your_program >/dev/null </dev/null 2>&1 &

重定向操作符是这样工作的:

  • >/dev/null将标准输出重定向到 /dev/null特殊文件,它接受所有和任何输出并丢弃它
  • </dev/null从同一个特殊文件重定向标准输入,这会导致所有读取都给出文件结尾
  • 2>&1使文件描述符 2(标准错误)与文件描述符 1(标准输出)相同,这意味着所有到标准错误的输出都将使用标准输出并自动重定向到 /dev/null

关于linux - 无法从 sh shell 命令提示符退出 telnet session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31715653/

相关文章:

linux - git 错误 : cannot handle https

regex - perl 在 bash 中查找两个模式之间的模式

php - 通过 telnet 从 python 调用 php

java - Telnet 连接到远程计算机并在其上查找 Firefox 版本

java - 安装定制的共享库文件/或其任何替代方案

linux - rm 没有释放磁盘空间

linux - 在 Shell 中,如何对作为字符串一部分的数字进行算术运算?

amazon-web-services - 无法连接到端口 22 上的 AWS 实例

c - 使用 add + shift 将 pcm16 转换为 pcm14

linux - 如何使用位于 azure webapp 中的 .sh 文件将多个文件从本地存储上传到 azure blob 存储