【发布时间】:2015-08-22 17:40:02
【问题描述】:
我正在尝试从我的服务器上的 PHP 运行脚本。
<?php exec("sh /var/www/scripts/script.sh", $output); ?>
我的脚本是:
#!/bin/bash
sh Stop.sh
nohup java -jar RestApiRandonSender.jar& # You send it in background
MyPID=$! # You sign it's PID
echo $MyPID # You print to terminal
echo "kill -9 $MyPID" > Stop.sh
echo "rm Stop.sh" >> Stop.sh
我的文件夹结构是:
/var/www/
/html/restart.php
/scripts/script.sh
所有组和用户都是root。
当我从 Chrome (localhost/restart.php) 访问 PHP 页面时,没有任何反应。
但是当我在文件夹中运行脚本时
sudo php ../html/restart.php
脚本重新启动 jar 文件并创建 Stop.sh,但直到我按下 Ctrl+c 或 Ctrl+z 后脚本才会结束。
我是 Linux 新手。我希望我提供了所有需要的细节..
编辑: 我将路径更改为 script.sh 中的完整文件路径 现在它几乎可以工作了。
这个过程仍然没有结束。 chrome的网页正在等待响应,jar文件的进程id与我在Stop.sh中得到的进程id完全不同
$ ps -ef | grep java
apache 10086 1 76 11:23 ? 00:05:00 java -jar /var/www/scripts/RestApiRandonSender.jar
【问题讨论】: