したがって、次のようにしてHUPを無視できることを既に知っています。
trap "command" HUP
しかし、プロセスは完全にバックグラウンドで発生するため、同じ操作を実行しながらそのコマンドに入力を送信できますか? (などscreen
の可能な代替手段を使用せずにtmux
)
その場合、この投稿は同様の投稿の代替として使用できます。これ1(screen
ソリューションとして使用)。
たとえば、
trap "echo HUP received" HUP; read X; echo input was $X
これはうまくいきますが送る入力する。出力は表示されないため、trap
使用されているプロセスが対話型(ncurseなど)の場合は使用が制限されます。
trap
したがって、コマンドで使用し(HUPを無視)、一部の操作を自動化したい場合expect
(出力が必要):
#!/bin/bash
read -s PWD
/usr/bin/expect -d <<EOF
set timeout -1
spawn trap "/usr/bin/vncserver -geometry 1366x768 :1" HUP
expect "Password:"
send "$PWD\r"
expect "Verify:"
send "$PWD\r"
expect "Would you like to enter a view-only password"
send "n\r"
expect eof
EOF
それは動作しません。 (のような代替を使用しない限りscreen
)tmux