3 让我们想象一下我在同一台机器上有一个client和一个server机器,我想编写它们之间的一些交互。 我真的很喜欢shell脚本 - 开始 server 放在server后台 开始 client (等待client做任何事情) 停止 server 我已经可以做大部分了,就像这样 - ./server & ./client 但是,server在脚本完成之后,它会继续运行,除了其他任何东西,它都是非常不整洁的。 我能做什么? linux ubuntu bash shell-script — 杰斯 source
5 您可以使用bash作业控制: #!/bin/bash ./server & ./client kill %1 请务必将#!/bin/bash脚本放在脚本的开头,以便使用bash来执行脚本(我不确定sh是否支持作业控制,如果有,请纠正我)。 — Wuffers source 没问题!乐意效劳! — 2011年
2 您可以使用标准POSIX sh获得相同的结果。在sh中,当你使用'&'在后台生成一个进程时,进程的PID存储在特殊变量$!中。所以: #!/bin/sh ./server & ./client kill $! 对于更复杂的情况,您可能希望保存pid: #!/bin/sh ./server & serverpid=$! # ... lots of other stuff kill $serverpid — sqweek source