首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将"sigterm“从Java发送到Bash脚本

将"sigterm“从Java发送到Bash脚本
EN

Stack Overflow用户
提问于 2016-04-20 18:15:10
回答 1查看 582关注 0票数 0

我正在从Bash script启动一个名为start.sh的Java代码。Bash脚本启动Java代码,然后Java代码运行。在Java程序结束时,我想向Bash脚本发送一个信号来终止它。请记住,Bash脚本是在PID = 1的情况下运行的,我必须终止PID为1的进程。

我设置了bash脚本,使其在无限循环中运行,并对终止信号执行waits

代码语言:javascript
复制
#!/bin/bash

# Run the java code here..

# Listen for an exit command.

trap 'exit 0' SIGTERM
while true; do :; done

我使用Docker实例,信号是sigterm。我正在学习本教程:https://www.ctl.io/developers/blog/post/gracefully-stopping-docker-containers/,它解释了如何从命令行发送sigterm。我想自动化这个过程,并在Java程序结束时立即从内部关闭/终止docker实例。

如何将信号发送回最初启动Java代码的bash脚本?

我应该跟随this method向bash脚本发送一个信号作为参数吗?或者它会使用不同的PID (而不是1)启动另一个bash脚本。

需要帮助!

EN

回答 1

Stack Overflow用户

发布于 2016-04-22 02:56:48

将其替换为'exec your_java_code_run'.

通过这种方式,docker在java代码运行结束后获得SIGTERM。

例如:

代码语言:javascript
复制
#!/usr/bin/env bash
set -e

someOtherCodeIfNeed

exec your_java_code_run
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36740676

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档