/ dev/ttyファイルにエコーする単純なシェルスクリプト:
$ cat a.sh
#/bin/bash
echo welcome >/dev/tty
すべてうまくいきます。これで、同じシェルスクリプトがautosysから実行されると、エラーが発生します。
/dev/tty: cannot create [No such device or address]
Autosysから、ttyファイルが利用できない理由が明確ではありません。誰かがこれが起こる理由を理解するのを助けることができますか?
/dev/tty
エントリは、現在のターミナルを指します。
Autosysからジョブを実行する場合、ジョブに関連付けられている端末がないため、/dev/tty
にアクセスしようとするとエラーが発生します。 cron
またはat
または他のスケジューラーを使用しても、同じことがわかります。
通常、対話型プロセスのみが/dev/tty
を使用しようとします。
Autosysを使用すると、システムは[〜#〜] stdout [〜#〜](通常の出力)および[〜#〜] stderr [〜#〜](エラーメッセージ)そしてそれらをジョブ結果データに入れ、それを取得して確認することができます。
他の場所に行く出力を書きたい場合...どこに行くべきですか?ターミナルはありません。 /dev/console
を試してみることをお勧めしますが、ルートアクセスが必要です。ログファイルが必要な場合もあれば、syslog
を使用する場合もあります。ただし、通常は、autosysにSTDOUT/STDERRを通常どおりに収集させるだけです:-)