为网站制作PHP脚本以杀死某个进程时,这可以杀死具有该名称的所有进程...
<?PHP exec ("pkill linuxjampded"); ?>
但是通过特定端口杀死它们不会......
<?PHP exec('kill -9 $(lsof -i:29070 -t)'); ?>
为什么呢?在shell中使用php命令测试时...
php -r“echo exec('kill -9 $(lsof -i:29070 -t)');”
它通过该端口号执行并终止进程。
如果有另一种方法可以通过其端口使用.sh或PHP脚本来终止进程,这可以帮助我减轻成本。
答案 0 :(得分:0)
我发现了原因。这是lsof命令。 http://www.linuxquestions.org/questions/linux-newbie-8/lsof-command-not-found-centos-906882/
使用此功能时,我能够找到真正的问题......
$result = shell_exec("/home/cmcomp/public_html/gameserver/gsk.sh 2>&1");
echo "<pre>$result</pre>";
.sh文件包含命令...
kill -9 $(/usr/sbin/lsof -i:29070 -t)