次のエントリにあるように、gdbを使うとプロセスの標準入出力を別の端末(tty)に繋ぎ変えることができる。 コンソールから切れたプロセスを標準出力につなげなおす - 絶品ゆどうふのタレ しかし実際にはあるプロセスからサブプロセスが複数呼ばれている状況もあり、そのような場合にはそれぞれのプロセスについてgdbでアタッチして端末を繋ぎ変える必要がある。 そこで、この操作を楽に行うためのシェルスクリプトを書いた。 #!/bin/bash # grabtty.sh rootpid="$1" newtty=$(tty) if [[ $(whoami) != "root" ]]; then echo "must be root." exit 1 fi if [[ -z "$rootpid" ]]; then echo "Usage: $0 PID" exit 1 fi grabpid() { loca