#!/usr/bin/env bash
pid=${1-""}
if [ -z "$pid" ]; then
echo "a pid must be given";
exit 1;
fi
siglist=(
SIGSTOP SIGCONT SIGSTOP SIGCONT SIGSTOP SIGCONT
SIGSTOP SIGCONT SIGSTOP SIGCONT SIGSTOP SIGCONT
SIGTERM
)
for sig in "${siglist[@]}"; do
kill -$sig $pid;
done
exit 0;
您不能一次发送 13 个信号,但必须遍历一些信号列表。以下脚本将这样做:
将脚本另存为
send-sigs.sh
,应用chmod +x send-sigs.sh
,然后像这样调用它:我使用信号 STOP 和 CONT 交替冻结和解冻给定的 pid,但您可以根据自己的喜好使用不同的信号。但请注意,某些信号可能会停止您的目标进程,因此之后它不会收到任何信号。