This commit is contained in:
ASUS 2025-10-17 10:36:50 +08:00
parent f55b876aa6
commit f5afc6d3f3
1 changed files with 57 additions and 0 deletions

57
stop_webman_commands.php Normal file
View File

@ -0,0 +1,57 @@
<?php
/**
* 终止 Webman 相关进程的脚本
* 功能:根据进程名关键词杀死指定的 Webman 进程
*/
// 定义需要终止的进程关键词(与启动命令对应)
$processKeywords = [
'webman applysmstemp',
'webman birthdaygiftsms',
'webman rabborderprint',
'webman rabbproductupdate'
];
echo "开始终止 Webman 进程...\n";
echo "----------------------------------------\n";
foreach ($processKeywords as $index => $keyword) {
$processNum = $index + 1;
echo "处理进程 {$processNum}:关键词 = {$keyword}\n";
// 1. 查找包含关键词的进程 IDPID
// 命令说明:
// - ps aux列出所有进程
// - grep "{$keyword}":筛选包含关键词的进程
// - grep -v grep排除 grep 自身进程
// - awk '{print $2}':提取 PID第 2 列)
$cmd = "ps aux | grep '{$keyword}' | grep -v grep | awk '{print $2}'";
exec($cmd, $pids); // 执行命令并获取所有匹配的 PID
if (empty($pids)) {
echo "未找到进程:{$keyword}\n";
echo "----------------------------------------\n";
continue;
}
// 2. 逐个杀死进程
foreach ($pids as $pid) {
$pid = trim($pid);
if (is_numeric($pid)) {
// 先尝试正常终止SIGTERM失败则强制终止SIGKILL
$killResult = exec("kill {$pid}");
if ($killResult === '') {
echo "成功终止进程 PID={$pid}\n";
} else {
// 正常终止失败,强制杀死
exec("kill -9 {$pid}");
echo "强制终止进程 PID={$pid}\n";
}
}
}
echo "----------------------------------------\n";
}
echo "所有进程处理完毕!\n";
echo "可通过 'ps aux | grep webman' 确认是否已终止。\n";