여전히 출력을 수신하고 입력을 보낼 수 있는 동안 트랩이 있는 SIGHUP을 무시합니다.

여전히 출력을 수신하고 입력을 보낼 수 있는 동안 트랩이 있는 SIGHUP을 무시합니다.

따라서 다음을 수행하여 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

관련 정보