- 博客(57)
- 资源 (4)
- 收藏
- 关注
原创 TCP连接状态如何判断
在某些情况下,如果`select()`函数返回值为1,且`recv()`函数读取的数据长度为0,这可能表明TCP连接已经正常断开。如果`errno`不等于`EINTR`,则可能表明连接异常断开。设置`SO_KEEPALIVE`选项后,如果TCP连接异常断开,对`recv()`操作会返回-1,并且`errno`的值为`ETIMEDOUT`。使用`getsockopt()`和`TCP_INFO`可以检查连接状态,如果状态不是`TCP_ESTABLISHED`,则表明连接可能已经断开。
2024-04-17 16:20:23 132
原创 github创建token令牌以解决remote: Support for password authentication was removed on August 13, 2021.remote
github创建token
2024-04-07 21:37:26 913
原创 信号
进程A给进程B发送信号,进程B收到信号之前执行自己的代码,收到信号后,不管执行到程序的什么位置,都要暂停运行,去处理信号,处理完毕后再继续执行。与硬中断类似-------异步模式。但是信号是软件层面是实现的中断,linux内核的进程控制块PCB是一个结构体,包含了信号的相关信息,主要是阻塞信号集和未决信号集。每个进程收到的所有信号,都是内核负责发送到的。,对于用户来说,时间非常短,不易察觉。早期常被称为“软中断”
2024-03-26 10:21:31 224
原创 进程间通信
一个进程由pipe创建管道后,fork一个子进程,通过管道实现父子进程间的通信。父子进程间具有相同的文件描述符,且指向同一个管道pipe。管道:是一种最基本的IPC机制,也称为匿名管道,应用于有血缘关系的进程之间,完成数据传递。
2024-03-25 15:00:13 336
原创 字符串字面量
字符串字面量是C语言中表示字符串的一种方式,它由双引号括起来的字符序列组成。例如,"hello, world"就是一个字符串字面量。在C语言中,字符串字面量是常量,不能被修改。这意味着你不能通过指针或下标来改变字符串字面量的值。如果你尝试这样做,编译器会报错。如果你想修改字符串的值,可以使用字符数组来存储字符串,并使用指针进行操作。
2024-03-25 11:56:58 208
原创 嵌入式之重定向输出
这个命令将标准输出(stdout)重定向到名为 output.txt 的文件中。如果文件不存在,它将被创建;如果文件已经存在,它的内容将被覆盖。请注意,这些命令只会重定向标准输出,而不会重定向标准错误输出。这将把标准输出和标准错误输出都重定向到 output.txt 文件中。这将把新的输出内容追加到 output.txt 文件的末尾。其中,command是你想要执行的命令。
2024-03-18 09:41:21 358
原创 linux下openvpn客户端安装
出现:TLS Error: TLS object -> incoming plaintext read error等报错信息,可能是此时的linux时间和时区不对,需要对时操作。3.进入/etc/openvpn目录下,将ca.crt、client.crt、client.key、client.ovpn、ta.key导入。在/etc/openvpn下输入openvpn client.ovpn。4.输入 openvpn client.ovpn启动openvpn。5.ifconfig后看到tun隧道已经产生。
2024-01-19 18:55:41 948
原创 使用shell脚本判断当前目录下的文件
这段代码是一个 Bash 脚本,用于检查当前目录下是否存在名为 "json.txt" 的文件。如果存在,则输出 "json.txt 文件存在";否则,继续检查当前目录下是否存在名为 "*.lic" 的文件。如果存在,则输出 ".lic 文件存在";如果都不存在,则输出 "没有找到 json.txt 和 .lic 文件"。
2024-01-12 13:57:30 363
原创 【linux系统编程】查找当前目录下所有的.lic文件
这段代码是用C语言编写的,用于在当前目录下查找所有以".lic"结尾的文件。如果找到了这样的文件,它会打印出文件名。
2024-01-09 20:14:20 325
原创 环境变量设置
2. 保存过后ldconfig一下(ldconfig 命令的用途,主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态链接库(格式如前介绍,lib*.so*),进而创建出动态装入程序(ld.so)所需的连接和缓存文件.缓存文件默认为/etc/ld.so.cache,此文件保存已排好序的动态链接库名字列表.)1. /etc/ld.so.conf下面加一行/usr/local/mysql/lib。
2024-01-03 21:37:25 964 1
原创 在已有的sqlite3数据库websyscfg.db文件中的某个表(netcfg )中,更新数据,c语言实现
这段代码是用于更新SQLite数据库中的数据。首先,它尝试打开名为"websyscfg.db"的数据库文件。如果成功打开,它将执行一系列UPDATE语句来更新netcfg表中的MqttPort、MqttClientID、MqttAddr、MqttPwd和MqttUser字段的值。如果在执行过程中出现任何错误,它将打印错误消息并返回-1。最后,它关闭数据库连接。其中的port1、ClientId1、host1、password1、username1由用户自己定义,根据具体的值进行带入计算。
2024-01-03 09:23:59 383 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人