按 ctrl-c 终止子进程

按 ctrl-c 终止子进程

在 tiny core linux 中,我有以下脚本:


#!/bin/sh
# ~/.X.d/freerdp.sh

rdp(){
while true
do
xfreerdp -f [IP Address]
done
}

rdp &

它非常简单;当 X 启动并检查 .Xd 目录时(在 tiny core 中就是这种情况),它会找到并执行此脚本。该脚本启动 freerdp 并通过在服务器关闭时重新启动它来保持与服务器的连接打开。从该rdp &行可以看出,该函数在后台运行,以允许 X 继续其启动例程。

问题是,每当我用CTRL+ ALT+取消 X 时BACKSPACE,rdp 进程不会终止。

我正在寻找一种方法来在 X 完成之后立即终止该进程,可以通过以下方式:

A)在 X 关闭时执行的脚本,它会终止该进程或 B)通过修改脚本来检查命令的返回值xfreerdp

注意 - 如果解决方案确实检查了返回值,则它必须仅在命令无法打开 X 显示器时结束。因此,如果您能为我指出xfreerdp返回值的参考,我将不胜感激。

答案1

看看是否有帮助

这个问题似乎已经已回答

答案2

最后我通过将代码更改为以下内容解决了这个问题:

/bin/sh #!/bin/sh 复制代码
# ~/.Xd/freerdp.sh

虽然正确
xfreerdp -f [IP 地址]
完毕

太丑了,我不得不重新组织脚本执行的顺序,以便这个脚本最后运行,但它有点起作用了......

相关内容