Closed
Description
質問・報告の内容
pty: 1
かつ out_io
と err_io
が file
または null
の設定でジョブを起動すると、ジョブが即座に終了する。
vim --clean
call term_start('sleep 10', {'out_io':'null', 'err_io':'null'})
OSの種類/ディストリ/バージョン
unix系OS
原因
channel の out と err が両方とも閉じられると、その後 in も閉じられる。
out_io
と err_io
が file
または null
のとき、これらのfdは直接ジョブのプロセスにつながる (Vimはハンドリングしない) ので、channel の out と err はどちらも閉じられた状態で起動する。
よって、すぐ in が閉じられるが、in が pty のときは in はプロセスの制御端末であるため、閉じた時点でカーネルからプロセスにSIGHUPが送られる。