9
如何永远以优雅的方式无所事事?
我有一个程序,可以在上产生有用的信息,stdout但也可以读取stdin。我想将其标准输出重定向到文件,而不在标准输入上提供任何内容。到目前为止,一切都很好:我可以做到: program > output 而且不要在tty中做任何事情。 但是,问题是我想在后台执行此操作。如果我做: program > output & 程序将被挂起(“暂停(tty输入)”)。 如果我做: program < /dev/null > output & 该程序立即终止,因为它达到了EOF。 似乎我需要的是插入program不确定的时间内不做任何事情并且不读取的内容stdin。以下方法起作用: while true; do sleep 100; done | program > output & mkfifo fifo && cat fifo | program > output & tail -f /dev/null | program > output & 但是,这一切都非常丑陋。有有是一种优雅的方式,使用标准的Unix工具,到“什么都不做,无限期”(意译man …