0

我必须在特定的 tty 上启动我的 TextUI 守护程序重生。为此,我从脚本启动它,如下所示$set_tty $launch_app

  • set_tty="openvt -c1 -s -w",
  • launch_app="my_daemon 2>'$HOME'/logfile"

通过这种方式,我启动了看起来像 的命令openvt -c1 -s -w my_daemon 2>'$HOME'/logfile,该命令仅从openvt自身重定向到指定的日志文件,而不是从我的守护进程重定向到指定的日志文件。

它应该如何重定向openvt'被调用者stderr?

我尝试使用功能:

go () { my_daemon 2>"$HOME"/logfile; }
openvt -c1 -s -w

它不起作用,opentty 立即返回控制权,什么也没有。

我试过exec 2>>"$HOME"/logfile

我尝试使用该功能启动一个单独的脚本。该脚本无法通过 openvt 运行,但如果我使用相同的参数手动启动它,则运行正常。

我错过了什么?

4

1 回答 1

1

一个可能的答案可能是一个包装外壳脚本,其内容将负责生成您的守护程序,并重定向stderr到您选择的日志文件。

[anew@bucket ~]$ cat test.sh 
#!/bin/bash
echo "Testing openvt" > /tmp/openvt-example

[anew@bucket ~]$ sudo openvt -c7 -s -w /home/anew/test.sh
[anew@bucket ~]$ cat /tmp/openvt-example
Testing openvt
[anew@bucket ~]$
于 2013-02-11T16:17:25.717 回答