我有一个产生多个进程的应用程序。是否可以将子项的输出重定向到另一个隐藏终端,以便它不与父输出混合,并使最终用户能够在需要时取消隐藏终端?
感谢。
答案 0 :(得分:1)
快速而肮脏的方法是将子进程的输出重定向到(临时)文件。
然后可以使用
之类的命令启动跟踪该文件的终端xterm -e tail -f /tmp/child1.out
此终端可在需要时关闭和打开。
如果你不想将输出存储在一个文件中,你可以使用fifo(参见mkfifo(1)
),但是你失去了查看过去输出的能力,因为fifo不存储数据。
答案 1 :(得分:0)
运行:
touch proc1.log
xterm -e tail -f proc1.log
topuch proc2.log
xterm -e tail -f proc2.log
/run/proc/1.sh >> proc1.log
/run/proc/2.sh >> proc2.log
现在您在生成进程的输出后有2个终端
答案 2 :(得分:0)
屏幕可以做到这一点。您可以使用新程序启动分离屏幕。
类似的东西:
screen -d -m -S my-emacs-session emacs foo.c