gpt4 book ai didi

linux - 杀死端口的 Bash 脚本

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:39:25 35 4
gpt4 key购买 nike

目前我正在学习 SSH 创建和监听服务器。但我仍然倾向于做错很多,之后我的端口仍然打开。所以我正在编写一个 bash 脚本来杀死它,但是我有一个我无法解决的错误。

脚本:

#!/bin/bash
pid=$(lsof -i:22 -t);set -f;a=(${pid})
for e in ${a[@]}
do
echo $e
kill $e || kill -9 $e
done

行为

@ echo $e shell 给出了正确的 PID

但是当我执行 lsoif -i:22 -t 时,脚本运行时 PID 仍然打开。

我错过了什么?

最佳答案

既然你愿意用 -9 标志杀死,请替换:

kill $e || kill -9 $e

kill -9 $e

nixCraft Logical OR 中所述

command1 || command2

command2 is executed if, and only if, command1 returns a non-zero exit status. In other words, run command1 successfully or run command2.

如果是

kill $e || kill -9 $e

第一个命令 (kill $e) 没有失败(因为 pid 有效),因此没有执行第二个命令。

关于linux - 杀死端口的 Bash 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44483706/

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