ptyを割り当てるラッパー(nohupの反対)

ptyを割り当てるラッパー(nohupの反対)

foo(議論する必要がない理由で)ptyを割り当てる必要があるコマンドがありましたが、成功しましたが失敗しfooましnohup fooた。

ptyがないときにptyを割り当てる最も簡単な方法は何ですか?screen -D -m foo過剰なようです。 an は (必要な) 終了コードを返しません。終了コードを保存すると機能します。

答え1

expectたとえばを使用します。

#!/usr/bin/env expect -f

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

答え2

@thrigの答えがうまくいくかもしれませんがexpect(私は賛成投票しました)、私はそうしました。小さな修正pty.cスティーブンスから出発UNIX®環境の高度なプログラミング-r指定された場合は終了コードを返します。明らかにするここ。これにより、仕事が簡単に終わりそうです。

答え3

script /dev/null

最も簡単で移植性の高いソリューションです(AndroidやBusinessBoxでは基本的にはまだ利用できませんが)。

stdinとstdoutがttyでなくてもうまくいきます。

関連情報