如何从php运行shell脚本文件

发布于 2025-02-11 14:08:04 字数 1098 浏览 0 评论 0原文

我正在使用基于Apache的应用程序,其中前端为PHP,后端是Java,通过插座将请求从PHP发送到Java。

我正在尝试在PHP中运行一个Shell脚本文件,并且脚本包含杀死旧的Java进程,并将启动新的Java进程,但它不起作用,

这是我的脚本:

/opt/apicontroller/rsn_api_api_api_api_api_controller_start.sh

#!/bin/bash

service cassandra start

service httpd start

prid=$(ps aux| egrep '[R]SN_API_Controller.jar' | awk '{print $2}')

if [ -z "$prid" ]
then
        echo "No process to kill"
else
        kill -9 $prid
        echo "Successfully service stopped"
fi

pridold=$(ps aux| egrep '[R]snBlacklist.jar' | awk '{print $2}')

if [ -z "$pridold" ]
then
        echo "No process to kill"
else
        kill -9 $pridold
        echo "Successfully service stopped old jar file"
fi

nohup java -Djsse.enableSNIExtension=false -jar RSN_API_Controller.jar &

echo "Successfully service started"

和我的我执行此脚本的PHP代码

<?php
     //some lines
     shell_exec('sh /opt/APIController/RSN_API_Controller_start.sh');
     //some lines
?>

基于按钮单击它将执行此脚本,手动脚本杀死并启动新的Java进程,但通过PHP脚本文件不正确执行,无法找到确切的问题。

请帮助我

i am using apache based application where front end is php and backend as java through socket am sending requests from php to java.

i am trying to run a shell script file in php and script contains killing old java process and will start new java process but it not working

This is my script:

/opt/APIController/RSN_API_Controller_start.sh

#!/bin/bash

service cassandra start

service httpd start

prid=$(ps aux| egrep '[R]SN_API_Controller.jar' | awk '{print $2}')

if [ -z "$prid" ]
then
        echo "No process to kill"
else
        kill -9 $prid
        echo "Successfully service stopped"
fi

pridold=$(ps aux| egrep '[R]snBlacklist.jar' | awk '{print $2}')

if [ -z "$pridold" ]
then
        echo "No process to kill"
else
        kill -9 $pridold
        echo "Successfully service stopped old jar file"
fi

nohup java -Djsse.enableSNIExtension=false -jar RSN_API_Controller.jar &

echo "Successfully service started"

and my php code for executing this script is

<?php
     //some lines
     shell_exec('sh /opt/APIController/RSN_API_Controller_start.sh');
     //some lines
?>

based on a button click it will execute this script, manually script killing and start new java process but through php script file not executing properly and am not able to find the exact issue.

please help me with this

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文