繁体   English   中英

如何在redhat服务中运行由python包装的Java程序

[英]how to run a java program which was wrapped by python in redhat services

我有一个python程序,它是Java程序的包装器。 该python程序执行Java程序。 当我运行此python程序时,它可以正常工作,但是当我将其作为red hat服务运行时,它将跳过java程序,而仅运行python程序。 当必须运行Java程序时,它只会在终端中显示0。 是因为Redhat服务不会在守护程序模式下启动另一个pid? 请帮我

这是运行/www/StartValidator.sh的Redhat服务代码

[Unit]
Description=Message Broker Service
[Service]
Type=Simple
User=mbobbili
ExecStart=/bin/bash /www/StartValidator.sh
Restart=always
RestartSec=3
[Install]
WantedBy=multi-user.target

这与RedHat无关。 这是常规systemd服务文件的一部分...另外,由于您的systemd服务运行BASH脚本,因此在此我看不到任何Celery和Python。

如果/www/StartValidator.sh运行Celery worker,那么我强烈建议您阅读Celery文档中的“ 守护进程”部分。

由于我不清楚您的意思是“ 不会在守护程序模式下启动另一个pid ”,所以我将假设您遇到了“典型”问题-当您再次运行Celery worker(手动或通过systemd服务)时,如果它指向同一个PID文件,并且现有文件中存在一个包含PID的实时进程,则它将拒绝运行,因为您已经在运行Celery worker。 只需停止现有过程,然后一切正常。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM