我有一个Python程序,该程序是Java程序的包装器。该Python程序执行Java程序。当我运行此Python程序时,它可以正常工作,但是当我以红色帽子服务运行时,它会跳过Java程序,并运行Python程序。当它必须运行Java程序时,它只是在终端中打印0。是因为RedHat Services不会在守护程序模式下启动另一个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
这不是针对性的。这是常规的Systemd服务文件的一部分...另外,当您的Systemd Service运行BASH脚本时,我没有看到芹菜和python特定于此。
如果/www/StartValidator.sh
有机会运行芹菜工人,那么我强烈建议您阅读芹菜文档中的守护程序。
由于对我来说尚不清楚您的意思是" 不会在守护程序模式下启动另一个pid ",所以我会假设您遇到了"典型"问题 - 当您运行芹菜工人时再次(无论是手动或通过SystemD服务(,如果它指向同一PID文件,并且现有文件中有一个带有PID的实时过程,则它将拒绝运行,因为您已经在运行芹菜工作了。只需停止现有过程,然后都可以工作。