tmux使用方法
tmux是一种终端多路复用器:它可以在一个屏幕上创建、访问和控制多个终端。
启动tmux时,它会创建一个带有单一窗口的新会话并显示在屏幕上。 屏幕底部的状态行显示当前会话的信息,并用于输入交互式命令。
本文目前主要记录了一些tmux使用的快捷键、常用配置以及插件使用方法。
专注于工业物联网行业数据采集,嵌入式Linux系统裁剪,5G智慧网关软件开发等
tmux是一种终端多路复用器:它可以在一个屏幕上创建、访问和控制多个终端。
启动tmux时,它会创建一个带有单一窗口的新会话并显示在屏幕上。 屏幕底部的状态行显示当前会话的信息,并用于输入交互式命令。
本文目前主要记录了一些tmux使用的快捷键、常用配置以及插件使用方法。
信号是软件中断。
信号提供了一种处理异步事件的方法。
信号用于大多数复杂的应用程序中。
Unix系统的早期版本就已经提供了信号机制,但不可靠。POSIX.1对可靠信号例程进行了标准化。
屏障(barrier)是用户协调多个线程并行工作的同步机制。
屏障允许每个线程等待,直到所有的合作线程都到达某一点,然后从该点继续执行。
pthread_join
是一种特殊的屏障,允许一个线程等待,直到另一个线程退出。
互斥量防止多个线程同时访问同一共享变量。
条件变量允许一个线程就某个条件(共享变量)的变化状态通知其他线程,并让其他线程等待(阻塞于)该通知。
条件变量与互斥量一起使用,允许线程以无竞争的方式等待特定的条件发生。
读写锁也称为共享互斥锁,具有3种状态:读模式下的加锁状态、写模式下的加锁状态、不加锁状态。
一次仅有一个线程可以占有写模式下的读写锁,但是多个线程可以同时占有读模式下的读写锁。
读写锁非常适合于对数据结构读的次数远大于写的情况。
与互斥量相比,读写锁(reader-writer lock)运行更高的并行性。
当多个线程共享相同的内存时,需要确保每个线程看到的都是一致的数据视图。
当一个线程可以修改的变量,其他线程也可以读取或修改的时候,就需要对这些线程进行同步,确保访问变量时不会得到无效的值。
多线程与处理器的核心数无关,即使单核处理器也可以运行多线程。
多线程的设计有很多优点:
UCI,Unified Configuration Interface,统一配置接口,是一个集中配置OpenWrt服务的系统。
UCI是OpenWrt中基于NVRAM配置的继承者,是OpenWrt主要系统功能配置的用户接口,包括网络、无线、日志以及远程访问等等。
MQTT保持活动机制是MQTT协议定义的一项功能。
MQTT客户端通过向代理发送为PINGREQ报文来维持与代理的连接。
MQTT代理通过接收PINGREQ来检测客户端是否无响应或断开连接,同理MQTT客户端通过接收PINGRESP响应来判断代理是否可用。
MQTT遗嘱(Last Will and Testament, LWT),允许客户端指定一条消息,在发生意外断开连接时,代理自动发布该消息到已订阅的其他客户端。
MQTT遗嘱 (LWT) 功能对于确保高效通信和在客户端意外断开时保持系统完整性至关重要。
MQTT的保留消息可以为订阅者提供指定主题上的最新状态(前提是最新消息发布时保留标志设置为true)。
保留消息是保留标志设置为true的普通MQTT消息。
每个订阅带有保留消息的主题的客户端在订阅后都会立即接收保留消息。
当客户端向指定主题发送多条保留消息时,代理仅存储最后的保留消息以及相应的QoS级别。
代理为每个主题仅存储一条保留消息。