如何在linux上的后台运行程序读取stdin?

时间:2015-11-16 07:00:17

标签: linux shell

我在while循环中读取标准输入的程序。我需要在后台运行它,即使我关闭控制台后也是如此。如果程序名称为prog,我该怎么办?

3 个答案:

答案 0 :(得分:2)

你必须提供从键盘以外的某些来源重定向的stdin(当你注销时会消失),但是

nohup prog < inputfile > outputfile 2> errorlogfile

应该这样做。

答案 1 :(得分:2)

24年前,当我开始使用UNIX时,我遇到了同样的问题。

如果你是新手,那么你要找的是tmux:在这里你可以启动一个从STDIN读取的程序,注销,稍后再回来,然后继续。

否则nohup是正确答案。

答案 2 :(得分:0)

您可能正在寻找screen

$ screen
$ prog < inputfile
# CTRL-A, CTRL-D to detach from the screen tty
# Log out or close console; log back in, or start another console later. 
# To re-attach to the screen tty:
$ screen -r