我在Maven中的集成测试需要启动一些外部进程(服务器)。如果用户中止maven进程,那些进程将继续徘徊。我以前添加了一个键#39; (即BUILD_ARTIFACT_PROCID = xyz)到这些进程的环境,所以我可以通过BASH脚本识别它们,依赖于Windows系统上的cygwin。
但是,有些服务器会生成自己的子元素,而不会传播环境变量或它们的进程没有在cygwin的/ proc下注册。
这个普遍的问题现在持续了几十年,似乎仍然没有跨平台的解决方案。
任何能够给我一个正常工作的解决方案的人,即一个不依赖于可能陈旧的PID文件的解决方案,如果缺少中间流程,这也可能是无用的?你们是如何解决这个问题的?