我需要通过php远程重新启动服务器上的nodejs站点。结束此nodejs流程很容易,但是由于生命周期问题,我无法启动它。我该怎么办? 以下代码是一个api,可以通过网络对其进行访问以实现查找和结束nodejs。
<?php
header('Content-Type: text/plain');
$cmd = 'netstat -aon|findstr "0.0.0.0:8888"';
echo 'C:\Users\Server>'.$cmd."\n";
exec($cmd,$out);
if(!empty($out)){
echo $out[0]."\n";
$pid = explode(" ",$out[0]);
$pid = intval(end($pid));
if($pid>20){
$cmd = 'taskkill /f /pid '.$pid;
echo 'C:\Users\Server>'.$cmd."\n";
exec($cmd,$out);
echo "killed\n";
}
}else{
echo "notfind 8888\n";
}
$cmd = 'cmd /c E:\nodejs\run.bat';
echo 'C:\Users\Server>'.$cmd."\n";
exec($cmd);
答案 0 :(得分:0)
我写了一个exe用户c#。使用exec函数
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace run
{
class Program
{
static void Main(string[] args)
{
System.Diagnostics.Process.Start(@"node.exe", @"E:\nodejs\index.js");
}
}
}