关于在arm平台上直接安装mosquitto

从ubuntu移植过来的mosquitto库

在这里插入图片描述
移植mosquitto到arm平台

由于之前我直接在 arm平台(树莓派) 直装过mosquitto 即运行sudo apt-get install mosquitto,系统已经默认帮我配置好了一些东西

在这里插入图片描述

配置好的东西包括:

1、配置文件直接存放于/etc/mosquitto在这里插入图片描述
2、mosquitto的可执行文件存放于 /usr/bin 和/usr/sbin 和/user/local/下的一些文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

细心的小伙伴就会发现好像/usr/bin/和/usr/local/bin里面的有些可执行文件重了,那到底运行哪一个呢?
首先:我们得了解这两个目录得区别

关于/usr/bin和/usr/local/bin

首先注意usr 指 Unix System Resource,而不是User

/usr/bin 下面的都是系统预装的可执行程序,会随着系统升级而改变。

/usr/local/bin 目录是给用户放置自己的可执行程序的地方,推荐放在这里,不会被系统升级而覆盖同名文件。

如果两个目录下有相同的可执行程序,谁优先执行受到PATH环境变量的影响,比如我的一台服务器的PATH变量为
echo $PATH (查看可执行文件环境变量路径指令)
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
这里/usr/local/bin优先于/usr/bin, 一般都是如此。

关于mosquitto自启动问题

在这里插入图片描述

当我执行从ubuntu上移植过来的mosquitto来开启mqtt服务器时,系统提示1883 这个端口被占用了,调用ps -aux | grep mosquitto查看 原来系统后台在运行着mosquitto的线程。
这时候我进入/etc/init.d系统自启动配置文件夹,发现了一个mosquitto的shell脚本文件。
查看之后原来系统开机就为我们运行了 mosquitto -c /etc/mosquitto/mosquitto.conf这条指令 默认ip是我们的主机号,默认端口号是 1883

/etc/init.d/mosquitto 部分代码 在这里插入图片描述
从图片中我们可以看出系统是执行的 /usr/sbin目录下的mosquitto,而不是user/local/sbin

当然,我们可以通过 pgrep mostuitto指令来查找出mosquitto的线程id
然后用kill指令来杀掉该线程,我们就能运行移植过来的mosquitto使用1883端口了

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值