我正在使用“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/