web-dev-qa-db-ja.com

/ dev / ttyはautosysから利用できません

/ dev/ttyファイルにエコーする単純なシェルスクリプト:

$ cat a.sh
#/bin/bash

echo welcome >/dev/tty

すべてうまくいきます。これで、同じシェルスクリプトがautosysから実行されると、エラーが発生します。

/dev/tty: cannot create [No such device or address]

Autosysから、ttyファイルが利用できない理由が明確ではありません。誰かがこれが起こる理由を理解するのを助けることができますか?

1
Guru

/dev/ttyエントリは、現在のターミナルを指します。

Autosysからジョブを実行する場合、ジョブに関連付けられている端末がないため、/dev/ttyにアクセスしようとするとエラーが発生します。 cronまたはatまたは他のスケジューラーを使用しても、同じことがわかります。

通常、対話型プロセスのみが/dev/ttyを使用しようとします。

Autosysを使用すると、システムは[〜#〜] stdout [〜#〜](通常の出力)および[〜#〜] stderr [〜#〜](エラーメッセージ)そしてそれらをジョブ結果データに入れ、それを取得して確認することができます。

他の場所に行く出力を書きたい場合...どこに行くべきですか?ターミナルはありません。 /dev/consoleを試してみることをお勧めしますが、ルートアクセスが必要です。ログファイルが必要な場合もあれば、syslogを使用する場合もあります。ただし、通常は、autosysにSTDOUT/STDERRを通常どおりに収集させるだけです:-)

2
Stephen Harris