gpt4 book ai didi

java - 如何在redhat服务中运行python包装的java程序

转载 作者:行者123 更新时间:2023-12-02 03:36:09 25 4
gpt4 key购买 nike

我有一个Python程序,它是Java程序的包装器。该Python程序执行Java程序。当我运行这个 python 程序时,它正常工作,但是当我将其作为红帽服务运行时,它会跳过 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 服务文件的一部分...另外,我在这里没有看到任何 Celery 和 Python 特定的内容,因为您的 systemd 服务运行 BASH 脚本...

如果 /www/StartValidator.sh 运行 Celery 工作线程,那么我强烈建议您阅读 Daemonization Celery 文档中的部分。

由于我不清楚“不会在守护进程模式下启动另一个 pid”是什么意思,我假设您遇到了“典型”问题 - 当您运行 Celery Worker 时再次(手动或通过 systemd 服务),如果它指向相同的 PID 文件,并且现有文件中有一个带有 PID 的实时进程,那么它将拒绝运行,因为你已经有 Celery 工作线程在运行。只需停止现有的进程,然后一切都会起作用。

关于java - 如何在redhat服务中运行python包装的java程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56860141/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com