/dev/tty 无法从 autosys 获得

/dev/tty 无法从 autosys 获得

一个简单的 shell 脚本,用于回显 /dev/tty 文件:

$ cat a.sh
#/bin/bash

echo welcome >/dev/tty

一切都很顺利。现在,当从 autosys 执行相同的 shell 脚本时,会出现错误:

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

不清楚为什么 autosys 中 tty 文件不可用。有人可以帮助理解为什么会发生这种情况吗?

答案1

入口/dev/tty点指向当前终端

当您从 autosys 运行作业时,没有与该作业关联的终端,因此尝试访问/dev/tty将导致错误。如果您使用cronat或其他调度程序,您会看到同样的情况。

通常只有交互式进程才会尝试使用/dev/tty.

使用autosys,系统将捕获标准输出(正常输出)和标准错误错误率(错误消息)并将它们放入作业结果数据中,然后您可以检索和查看。

如果您希望将输出写入其他地方...它应该放在哪里?没有终端。您可能想尝试一下,/dev/console但这需要 root 访问权限。您可能需要一个日志文件,或者使用syslog。但是,通常情况下,您只需让 autosys 像往常一样收集 STDOUT/STDERR :-)

相关内容