小编the*_*ian的帖子

使用&符号(&)在后台运行子进程时,运行bash脚本不会返回到终端

我有一个脚本(让我们称之为parent.sh),它对运行java进程的第二个脚本(child.sh)进行2次调用.child.sh脚本在后台运行,方法是在parent.sh中放置一行&.但是,当我运行parent.sh时,我需要按Ctrl + C返回终端屏幕.这是什么原因?是否与child.sh进程在parent.sh进程下运行这一事实有关.所以parent.sh不会死,直到孩子们这样做?

parent.sh

#!/bin/bash
child.sh param1a param2a &
child.sh param1b param2b &
exit 0
Run Code Online (Sandbox Code Playgroud)

child.sh

#!/bin/bash
java com.test.Main 
echo "Main Process Stopped" | mail -s "WARNING-Main Process is down." user@email.com    
Run Code Online (Sandbox Code Playgroud)

如您所见,我不想在后台运行java进程,因为我想在进程终止时发送邮件.从功能的角度来看,如上所述可以正常工作,但我想知道如何在执行parent.sh后让它返回终端.

bash shell scripting background-process ampersand

8
推荐指数
3
解决办法
1万
查看次数

如何让 MessageListener 在收到某个消息时停止监听 JMS 中的消息?

我有一个正在接收一些 TextMessage 的消息侦听器。当它收到 ObjectMessage 时,我希望它停止侦听队列。我的问题是,当我在 onMessage(Message msg) 方法中调用 consumer.close() 时,ObjectMessage 似乎没有从队列中删除。如果我在 onMessage() 方法之后使用一些标记告诉消费者关闭,则侦听器可能会在实际关闭之前消耗另一条消息。有什么建议?这是一些代码。Session、Connection 和 InitialContext 尚未关闭。

public class MyListener implements MessageListener{
    MessageConsumer consumer;

    public MyListener(MessageConsumer mc){
        consumer = mc;
    }

    @Override
    public void onMessage(Message msg) {
        try{
            if(msg instanceof ObjectMessage){
                consumer.close();
            }
            if (msg instanceof TextMessage){
                TextMessage tmsg = (TextMessage) msg;
                String xml = tmsg.getText();
                // do some stuff                
            }

       }catch(Exception e){
           e.printStackTrace();
       }
    }
Run Code Online (Sandbox Code Playgroud)

java jms message-listener

3
推荐指数
1
解决办法
2万
查看次数

为什么elem.style.backgroundImage返回空而不是CSS属性?

为什么以下输出为style.backgroundImage的空字符串?如何检索图像的高度和宽度,以便我可以适当地设置div的尺寸?

<!DOCTYPE html>
<html>
<head>  
    <link href="test.css" rel="stylesheet" type="text/css" />
</head>
<body>
    <div class="myDiv" onclick="outputBGImageUrl(this)">
        Click To Get BG Image Property
    </div>
    <script type="text/javascript">
        function outputBGImageUrl(elem){
            var bgImage = elem.style.backgroundImage;
            console.log(bgImage);
        }
    </script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

CSS:

.myDiv{
    background-image:url(box.jpg);
}
Run Code Online (Sandbox Code Playgroud)

javascript css

3
推荐指数
1
解决办法
1527
查看次数