发送到后台后直接输入到ncurses软件

时间:2015-04-21 16:42:47

标签: bash background-process ncurses

我有一个问题给你专家。

我有一台服务器使用ncurses来显示MPI软件通过套接字发送的数据。我正在尝试在后台启动服务器,启动MPI进程,然后恢复服务器。

我写了一个小的bash脚本:

echo "starting monitor"
./server &
jobnumber=$(jobs | grep './server &' | grep -o '\[[0-9]*\]' | cut -d "[" -f2 | cut -d "]" -f1)

mpiexec [...]

fg $jobnumber

一切都运行顺利,但有一点:服务器不等待关键推送死亡,突然死亡。 我认为输入重定向有问题,但我真的需要你的建议。提前谢谢!

玩得开心

GF

P.S。:服务器可以简化为:

int main(){
    initscr();
    [...]
    getch();
    endwin();
    return 0;
}

1 个答案:

答案 0 :(得分:0)

要将输入重定向保留到前台作业,您必须以监控模式运行脚本。 添加:

    set -m 

到脚本的第一行。所以你会:

#Set monitor mode
set -m

echo "starting monitor"
./server &
jobnumber=$(jobs | grep './server &' | grep -o '\[[0-9]*\]' | cut -d "[" -f2 | cut -d "]" -f1)

mpiexec [...]

fg $jobnumber

现在输入重定向就像魅力一样。 玩得开心

GF