gpt4 book ai didi

linux - 启动服务应用程序并将其通过管道传输到当前终端

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:01:27 25 4
gpt4 key购买 nike

如何在一个脚本中启动多个应用程序并将输出通过管道传输到当前终端?

为了开发,我需要一个脚本来启动三个网络服务器(当然是在三个端口上)并将它们的输出通过管道传输到当前终端。

困难在于在 shell 结束时停止这些网络服务器。我必须向所有网络服务器发送信号或更好地发送 [Ctrl + C]。

我希望你能理解我;-)

最佳答案

编辑

#!/bin/bash
netstat &
p1=$!
netstat &
p2=$!
netstat &
p3=$!
trap "kill $p1 $p2 $p3" SIGINT
wait $p1 $p2 $p3

脚本在后台启动其他进程并记住它们的进程 ID。然后它等待所有这些终止。与此同时,在收到 SIGINT(即 ^C)后,它将终止这些进程,然后脚本也会终止(因为没有更多的事情要做)。所以通过 ^C'ing 你的脚本,你可以杀死所有后台服务器进程。

哦,是的...我正在使用 netstat 作为长时间运行的测试命令。替换你想运行的任何东西。

最后,您可以使用 kill 选择向您的进程发送哪个信号。检查 man kill 选项;我认为 INT(相当于 ^C)是默认值。

关于linux - 启动服务应用程序并将其通过管道传输到当前终端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3263723/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com