Linux命令使用错误记录

问题描述

今天在使用jenkins自动部署的时候,查看日志也是打印成功的,如下图:

自以为是成功,没有看项目启动日志。当访问接口的时候,返回的还是原有数据,没有更新数据接口。

解决思路

首先,打开项目的日志查看

发现错误日志很明显,端口占用,也就是说在项目启动的时候没有将原来的进程关掉。从而发现问题应该是出在了杀进程的shell脚本上。

执行shell脚本,发现错误出在了红框这行,如下图错误提示:

很快定位到这个写的有问题,调整如下,再次运行便正常了。

lsof -i:9011 | grep LISTEN | awk '{print $2}'

扩展知识点 lsof

lsof 全拼是list open files

列出当前系统打开文件的工具,可以查看端口的占用情况

常用参数

-p pid : 输出指定进程打开的文件;

-l : 输出中使用ID代替用户名;

-u userName : 输出指定用户打开的文件;

-c string : 输出 COMMAND 列中包含 string 的项;

-d fd : 输出包含指定描述符的项;

fileName : 输出打开文件 fileName 的所有项;

-i [46] [protocol][@hostname|hostaddr][:service|port] : 输出符合指定条件的项,其中:

46 :分别指 IPv4、IPv6;

protocol :指 TCP 或 UDP;

hostname :  网络主机名;

hostaddr : IP 地址;

service : 包含在 /etc/services 中的名称;

port : 端口号,可以是多个;

这里我们用到的参数-i:port,即:lsof -i:9011 结果如下图:

上面红框中的 awk '{print $2}'的意思是选取并输出第二列的数据。也就是我们的pid 22003.

好了今天的错误记录及我们的lsof知识就讲解到这。

欢迎大家留言交流,也欢迎大家关注我的工种昊《coder练习生》

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ybb_ymm

你的鼓励会是对我最大的支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值