所以我已经知道可以通过执行以下操作来忽略 HUP:
trap "command" HUP
但由于该过程完全在后台进行,是否可以执行相同的操作但仍然能够将输入发送到所述命令? (不使用可能的替代方案screen
,例如tmux
等)
如果是的话,这可以用作类似帖子的替代方法这一个(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