gpt4 book ai didi

linux - "No Output"返回代码 Shell 脚本

转载 作者:太空宇宙 更新时间:2023-11-04 11:21:41 24 4
gpt4 key购买 nike

我正在尝试创建一个脚本来终止进程并在发出 kill -9 命令之前确认进程正在运行,但我遇到了一个错误,它总是假设有输出。

#!/bin/sh
rc=$?

#Ask to check for a process to kill
clear
echo "Please enter a process number you would like to kill"
echo ""
read proc
ps -ef | awk '{print $2}' | grep *$proc*
if [[ $rc != 0 ]]; then
echo "Process not running or already killed"
sleep 2
exit $rc
else
clear
echo "Killing process..."
sleep 2
# kill -9 $proc
fi

最佳答案

使用 grep $proc 是错误的。如果你想杀死PID 22,它将匹配122220

测试 PID 是否存在的最简单方法是尝试向其发送信号 0:

if kill -0 "$proc" 2>/dev/null
then
clear
echo "Killing process..."
sleep 2
kill -9 "$proc"
else
clear
echo "Process not running or already killed"
sleep 2
exit 1
fi

Signal 0 不执行任何操作,它只是测试您是否能够向该进程发送信号。

关于linux - "No Output"返回代码 Shell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17840427/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com