bash - 链接两个进程 Bash

标签 bash

我有两个命令行程序,一个客户端应用程序和一个与之通信的服务器应用程序。

客户端依赖后台运行的服务器。我可以通过以下方式启动:

java -jar server.jar & java -jar client.jar

然而,当我终止客户端时,服务器仍然在后台。有没有办法将两者联系起来,以便如果客户端死掉,服务器也死掉?

最佳答案

在后台运行服务器作业并使用 $! 存储进程 ID。然后运行客户端。 客户端退出后,使用存储的 pid 终止服务器,如下所示:

java  -jar server.jar &
server=$!
java -jar client.jar
kill $server

更短:不需要存储后台进程的PID,只有一个

java  -jar server.jar &
java -jar client.jar
kill $!

关于bash - 链接两个进程 Bash,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41110163/

相关文章:

linux - 试图在 2 个分隔符之间获取字符串

linux - bash:循环中的 grep 不 grep

linux - Bash 字符串中特殊字符 '<' 的问题?

linux - 测试条件shell脚本

bash - 比较输出而不是命令

linux - 如何在 Bash 中存储/保存命令的输出?

安卓工作室 : How to integrate Git from Windows 10 Ubuntu bash?

bash - 从脚本中通过管道传输 stdout/stderr 时不显示 read -p 提示

bash - Automator bash shell 脚本问题

regex - 在 sed 中插入换行符 (Mac OS X)