Pty

用於分配 pty 的包裝器(與 nohup 相對)

  • August 26, 2021

我有一個命令foo(由於我們不需要討論的原因)需要分配一個 pty,即foo成功但nohup foo失敗。

當沒有 pty 時,分配 pty 的最簡單方法是什麼?screen -D -m foo似乎有點矯枉過正,不返回退出程式碼(我需要)。保存退出程式碼,它可以工作。

雖然@thrig 的答案可能適用expect(並且我贊成),但我對Stevens的 UNIX® 環境中的高級程式進行了微小的修改,以返回退出程式碼(如果指定)。結果就在這裡。這似乎以最小的大驚小怪做的伎倆。pty.c``-r

使用expect,例如

#!/usr/bin/env expect -f

spawn -noecho ssh localhost "sleep 3; false"
catch wait status
exit [lindex $status 3]

引用自:https://unix.stackexchange.com/questions/231306