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からの stderr のみを指定されたログファイルにリダイレクトします。openvt

openvtの呼び出し先 stderrをどのようにリダイレクトすることになっていますか?

関数を使用してみました:

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

それは機能しません。opentty はすぐに制御を返し、何も生成しません。

私は試したexec 2>>"$HOME"/logfile

その機能を使用して、別のスクリプトを起動してみました。スクリプトは openvt 経由で実行できませんでしたが、同じパラメーターを使用して手動で起動すると問題なく実行されました。

私は何を取りこぼしたか?

4

1 に答える 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 に答える