我的文件只包含IP地址和端口号。我知道如何通过名称启动服务,但如何通过端口号启动和停止服务?
for port in $(cat /home/asd/iplog.txt); do
service /etc/init.d/$port | cut -d\: -f2 start
done
这是iplog.txt输出:
192.168.1.2:21
192.168.2.25:80
192.168.5.230:25
和脚本的输出:
/etc/init.d/192.168.1.2:21: unrecognized service
cut: start: no such file or directory
/etc/init.d/192.168.2.25:80: unrecognized service
cut: start: no such file or directory
现在我有两个问题:
因为我不熟悉shell脚本,所以我真的需要你的帮助。
答案 0 :(得分:0)
如何通过端口号查找服务的PID /命令?
你可以杀死它们/停止服务。但这不是最好的方式。
#lsof-i :22
Command PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 14543 root 3u IPv4 4132251 0t0 TCP *:ssh (LISTEN)
sshd 14543 root 4u IPv6 4132253 0t0 TCP *:ssh (LISTEN)
#ps 14543
PID TTY STAT TIME COMMAND
14543 ? Ss 0:00 /usr/sbin/sshd
如何远程操作?
ssh user@remote 'your command to stop service'