草庐IT

docker - 错误 "The input device is not a TTY"

我正在从我的Jenkinsfile运行以下命令。但是,我收到错误“输入设备不是TTY”。dockerrun-v$PWD:/foobar-itcloudfoundry/cflinuxfs2/foobar/script.sh有没有办法在不使用交互模式的情况下从Jenkinsfile运行脚本?我基本上有一个名为script.sh的文件,我想在Docker容器中运行它。 最佳答案 删除-it从您的cli中使其成为非交互式并删除TTY。如果您也不需要,例如在Jenkins或cron脚本中运行你的命令,你应该这样做。或者您可以将其更改为-i如果

docker - 错误 "The input device is not a TTY"

我正在从我的Jenkinsfile运行以下命令。但是,我收到错误“输入设备不是TTY”。dockerrun-v$PWD:/foobar-itcloudfoundry/cflinuxfs2/foobar/script.sh有没有办法在不使用交互模式的情况下从Jenkinsfile运行脚本?我基本上有一个名为script.sh的文件,我想在Docker容器中运行它。 最佳答案 删除-it从您的cli中使其成为非交互式并删除TTY。如果您也不需要,例如在Jenkins或cron脚本中运行你的命令,你应该这样做。或者您可以将其更改为-i如果

linux - 低级驱动程序和 tty 驱动程序之间的链接

我正在为linux编写一个控制台驱动程序,我遇到了需要为此驱动程序设置的tty接口(interface)。我对tty驱动程序如何与低级驱动程序绑定(bind)感到困惑。很多时候根文件系统已经包含了很多tty设备。我想知道低级设备如何绑定(bind)到根文件系统上的现有tty节点之一。例如,/dev/tty7:根文件系统上的节点。低级设备驱动程序如何与该节点连接?或者那个低级设备应该定义一个全新的tty设备吗? 最佳答案 Howcanlow-leveldevicesbindtooneoftheexistingttynodesonthe

linux - tty 子系统有什么用?

到目前为止,我已经花了至少10个小时来理解LinusAkesson的著名博客文章,但我仍在苦苦挣扎。因此,让我将对tty/ptty的疑问作为一系列简短的问题提出来。1)tty/ptty是在用户空间还是内核空间?2)tty/ptty与设备或驱动程序或某些编号之类的连接是什么?3)tty似乎链接到进程的控制终端,这是什么关系,每个进程都与终端相关吗?4)总的来说,我仍然不明白这个终端概念到底适用于什么地方。一个进程想要从stdio读取一些东西,它不能简单地从所需的设备文件中读取。tty打算解决的问题到底是什么?5)我在某处读到有人试图将tty从用户空间移动到内核空间。tty仅仅是一个历史遗

linux - tiny tty linux 设备驱动程序的奇怪行为

我在使用Linux设备驱动程序一书中的微型tty驱动程序时遇到了问题。我不得不稍微采用代码以满足我的要求,所以踢掉了所有不相关的代码(见下面的代码)。我使用内核线程将“helloworld”写入TTY层。如果我使用cat命令在终端中打开设备文件,我会收到预期的字符串。但我面临两个问题:为什么每当tty_insert_flip_char(...)被调用时调用tiny_write(...)在我的内核线程(tiny_thread)中调用?不应该仅在写入设备文件时才调用tiny_write(...)函数吗?在这个函数中如何区分是读操作还是写操作调用?如果在设备文件上使用回显,为什么会出现错误?

c - 如何确定 Linux TTY 是否正在控制进程组

所以我有一个tty(比方说/dev/tty5),想知道它当前是否是进程组或session的控制tty,或者它当前是否为无主。POSIX有两个API函数,它们在这里提示自己:tcgetpgrp()和tcgetsid(),这两个函数只有在调用者将tty作为控制tty时才有效——在这种情况下,它们几乎没有用(事实上我不根本看不到tcgetsid()的意义。有人建议我如何以理智的方式从C检测终端当前是否是进程的控制终端?我只关心Linux,所以如果需要特定于Linux的API,那对我来说没问题。 最佳答案 BSD:intioctl(intt

linux - 结合 tty 的历史

在任何给定时间,我有3次登录到同一服务器。当然,我经常使用屏幕,但假设这个目的允许我:1sessionrunningsomething1sessionlookingatoutput1sessionshufflingfilesto/fromvariousplaces如果在任何时候我失去了所有三个连接,我将失去2/3的历史记录,因为当我重新登录时,我会从我的三个连接中随机获得一个历史记录。有没有办法阻止这种情况并将所有三个历史文件合并为一个文件?或者,有没有一种方法可以将每个登录声明为“ttyN”,从而使每个登录与其单独的历史记录分开,但可检索/可重新连接?谢谢!

linux - 我如何读取超时的 tty 文件?

我在/dev中有tty设备,我在其中发送AT命令。我想逐行读取并在超时后停止读取文件。 最佳答案 您可以使用程序stty来配置tty设备。要查看终端/dev/ttyS0的设置,请尝试stty-a-F/dev/ttyS0关于超时的默认设置是min=1;time=0,表示读取程序会一直读取到至少一个字符被读取完,没有超时。使用例如stty-F/dev/ttyS0min0time10读取程序(例如cat)将在一秒后完成读取,无论是否已读取任何内容。参数time的单位是十分之一秒;您可以查看manstty了解更多信息。

linux - 命令 'c' 结果中的 "ls -l/dev/tty' 是什么意思?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎不是关于aspecificprogrammingproblem,asoftwarealgorithm,orsoftwaretoolsprimarilyusedbyprogrammers的.如果您认为这个问题是关于anotherStackExchangesite的主题,您可以发表评论,说明问题可能在哪里得到解答。关闭8年前。Improvethisquestion我正在编写一些代码来解释Linux中ls命令的输出(以使其对新手更友好)。作为测试用例之一,我执行了命令'ls-l/dev/tty'

linux - 捕获到/dev/tty 的直接重定向

我正在为一个将文本直接输出到/dev/tty的程序开发一个应用程序Controller。这是一个生产应用程序Controller,必须能够捕获所有发送到终端的文本。一般来说,这不是问题。我们只是重定向stdout和stderr。这个特定的应用程序直接调用echo并将结果重定向到/dev/tty(echo"sometext">/dev/tty)。通过我的应用程序Controller重定向无法捕获文本。我确实有此应用程序的源代码,但无法修改它,也不再对其进行维护。关于如何捕获和/或丢弃输出的任何想法? 最佳答案 screen-D-myo