无法从sh shell命令提示符退出telnet会话

时间:2015-07-30 05:18:20

标签: linux sh telnet busybox

我正在使用" BusyBox v1.22.1(2015-02-09 13:48:39 IST)内置外壳(灰) "我已经在后台模式下运行了一个脚本,它在连续的while循环中运行并有一些延迟。

然后,我输入"退出"命令从我开始一个脚本的那个会话中出来。

但是,我无法从那次会议中出来。

是否有人了解此类型问题,或者busybox中是否需要进行任何配置才能解决此问题?

1 个答案:

答案 0 :(得分:1)

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

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

所以做类似的事情。

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

重定向运算符的工作方式如下:

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