![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
文章平均质量分 70
熬夜耗子在线敲代码
勤勉一生。
展开
-
利用daemon函数创建守护进程
daemon的内部整体流程是啥?daemon函数作为一个函数,在封装好的同时,容易让初学者只知其然而不知其所以然,往往导致bug横生,让人怨声载道。实际上,它的流程可以等效为:1.fork()创建子进程,继承父进程的资源2.setsid()创建会话,让子进程脱离父进程的进程组、会话组。自己开一个新的会话组当领头进程。退出父进程。3.fork()再次创建子进程,禁止打开控制终端。退出父进程。4.chdir()是否改变子进程工作路径。5.umask()设置权限掩码。给子进程能够访问操作用户文件的权原创 2022-05-15 20:47:56 · 309 阅读 · 0 评论 -
基于树莓派的温度采样项目总结
命令行提取参数getopt_long函数,能够在Linux命令行提取短选项(-开头,与选参数之间隔空)与长选项(–开头连接参数)。它的原型是这样的。#include <unistd.h>#include <getopt.h>int getopt_long(int argc, char * const argv[],const char *optstring,const struct option *longopts, int *longindex);如果只想要提取长选项,原创 2022-05-14 17:39:16 · 803 阅读 · 0 评论 -
c语言将字符串转换为unix时间
#include <stdio.h>#include <time.h>long int str_to_time(const char *time_str){ struct tm tm_time; long int unixtime; strptime(time_str, "%Y-%m-%d %H:%M:%S", &tm_time); unixtime=mktime(&tm_time); return unixtime;}int main()原创 2022-05-08 09:27:45 · 556 阅读 · 0 评论 -
中兴V5S旧手机上搭载小型Linux服务器
来源鄙人是一枚抠抠索索的穷鬼,超级喜欢废物利用。前些天一直在学校和闲鱼上捡坏掉的电子产品回来修了用,这样成本低廉,又可以让自己以最低的成本获得一些可以丰富生活的电子产品。但是毕竟也花了不少钱,然后就想淘部旧手机搞搞,只搞软件就不需要多的钱了嘛,虽然后续也是要加装其他东西,但毕竟不需要太多钱。关于root与刷机root是保证搭载的环境能够以root权限运行以及搭载,如果不root手机的话,可能会启动不了或者安装的过程有失败。刷机是因为本身系统比较卡顿,所以我给刷成小米的miui系统了,很是轻便流.原创 2022-03-30 10:01:59 · 418 阅读 · 1 评论 -
Ubuntu右上角网络连接图标消失不见且无法上网
依次执行下列命令sudo service network-manager stopsudo rm /var/lib/NetworkManager/NetworkManager.statesudo service network-manager startsudo gedit /etc/NetworkManager/NetworkManager.conf将弹出的文本文件,将其中的false改成truesudo service network-manager restart...原创 2021-12-12 10:31:04 · 254 阅读 · 0 评论 -
嵌入式Linux
who命令显示以下内容:登录名、tty、登录日期和时间ls命令属性功能-a列出所有的文件和目录,包括以“.”号开头的-A列出所有的文件和目录,包括以“.”号开头的(除了“.”和“…”)-F给文件名末尾添加一个标识符(*/=@-d仅列出子目录本身文件操作mkdir属性功能创建目录-p一次创建多级目录rmdir属性功能删除目录-p一次删除多级目录文件拷贝cp /usr/i原创 2021-10-08 11:01:15 · 111 阅读 · 0 评论 -
TCP连接的建立和终止
为帮助大家理解connect、accept和close函数并使用netstat调试TCP应用程序,我们必须了解如何建立和终止TCP连接以及TCP的状态转换图。这是一个通过加深了解底层网络协议以帮助我们编写网络程序的例子。三路握手下述步骤建立一个TCP连接:1.服务器必须准备好接受外来的连接。这通过调用socket、 bind 和listen函数来完成,称为被动打开(passive open)。2.客户通过调用connect进行主动打开(active open)。这引起客户TCP发送一个SYN分节(表原创 2021-07-27 11:09:54 · 795 阅读 · 1 评论 -
UNIX网络编程--传输层:TCP和UDP
绝大多数的客户-服务器应用程序都使用TCP或UDP。这两个协议转而使用网络层协议IP;P版本4(IPv4)或IP版本6(IPv6)。尽管可以绕过传输层直接使用IPv4或IPv6,但这种技术(称为原始套接口)较少使用。UDP是一种简单的,不可靠的数据报协议,而TCP是一种精致的、可靠的字节流协议。总图虽然称为“TCP/IP"协议族,但是本协议族还有许多其他成员。图2.1展示了这些协议的概貌。在这个图中,我们展示了IPv4和IPv6。从右向左观察这个图,最右边的4个应用程序使用IPv6,这涉及到原创 2021-07-26 13:40:26 · 236 阅读 · 0 评论 -
UNIX网络编程--TCP/IP(2)
OSI模型描述网络中各协议层的一般方法是国际标准化组织(ISO)的计算机通信开放系统互连(open systems interconnection,OSI)模型。这是一个七层模型,如图1.14所示,图中同时给出了与网际协议族的近似映射。网络层由IPv4和IPv6协议处理。传输层可以选择TCP或UDP。图1.14中的网际协议族,在TCP与UDP之间留有一个间隙,指出应用程序可以绕过传输层而直接使用IPv4或IPv6。这称为原始套接口(raw·socket)。OSI模型的上面三层合并成一层,称为应用层。原创 2021-07-25 12:27:13 · 153 阅读 · 1 评论 -
UNIX网络编程--第一章TCP/IP简介
两种网络编程API套接口(sockets),有时称为“Berkeley套接口”,因为它源自Berkeley Unix。XTI(X/Open传输接口),它是对AT&T开发的传输层接口(TLI)经少量修改的产物。大多数的网络应用系统包括两部分:客户(client)与服务器(server),两者是通过通信链接的,其中又涉及到了网络通信协议,TCP/IP协议族(又称网际协议族)在实际生活中,客户与服务器无需处于一个局域网内通信,也可以通过路由器(router,广域网的架构设备)作为传输节点原创 2021-07-24 09:45:25 · 372 阅读 · 1 评论 -
Linux下对文件io系统的调用
前言一直以来都是在Linux下用Python进行文件调用,但还没真正使用c操作过,假期跟着师兄学Linux和嵌入式,深感c的重要性,所以开始补补钙。文件IO系统调用1.1 open()系统调用int open(const char *path, int oflag, ... /*mode_t mode*/);open()系统调用用来打开一个文件,并返回一个文件描述符(file description), 并且该文件描述符是当前进程最小、未使用的文件描述符数值。 参数: path: 要打开的文转载 2021-07-23 11:36:41 · 104 阅读 · 1 评论 -
树莓派控制DS18B20温度传感器
DS18B20是一种常见的数字温度传感器,其控制命令和数据都是以数字信号的方式输入输出,它的通信接口采用的是1-Wire(单总线)。1-Wire是一种半双工异步的通讯协议(通信双方可以各自约定通信速率互相传输数据,但必须分时复用一根数据线)。单片机需要控制DQ口,而且使用时要接一个上拉电阻将18B20配置成开漏输出模式。当在树莓派上面,树莓派是一台电脑主机,只需要将树莓派配置成使能1-Wire就可以通过通信进行访问18B20的内容了。使用命令即可配置sudo raspi-config确认,然原创 2021-07-23 01:27:03 · 4054 阅读 · 9 评论 -
利用apache2在树莓派上搭建简易网站
材料准备树莓派(或者Ubuntu虚拟机)HTML文件filezilla软件(文件互传软件)树莓派Raspberry Pi(中文名为"树莓派",简写为RPi,(或者RasPi / RPI) 是为学习计算机编程教育而设计),只有信用卡大小的微型电脑,其系统基于Linux。我手头使用的是树莓派4b,当然光有树莓派主机是不行的,还需要有显示器显示界面,没有显示器的小伙伴可以用putty,或者vnc远程登录账户进行控制。树莓派实图(图片来源于网络)vnc界面在树莓派的terminal框输入原创 2021-07-10 13:52:39 · 527 阅读 · 1 评论 -
Linux系统命令学习笔记
**关机:rebootCTRL+a:移动到行首CTRL+e:移动到行尾CTRL+n:向下CTRL+p:向上CTRL+b:前移CTRL+f:后移CTRL+d:在文档处理界面相当于exit,也可以直接结束终端CTRL+h:向前删除一个字符CTRL+d:向后删除一个字符\跳出终端CTRL+u:前删CTRL+k:后删CTRL+l或者clear:清屏CTRL+r:搜索历史记录命令...原创 2020-03-24 10:39:13 · 208 阅读 · 1 评论 -
Ubuntu快速入门笔记
1.Ubuntu 的linux系统:左上角的符号是dash,可以快捷查找文件与应用如termet(终端)。2.最大化时关闭符号会自动隐藏掉,系统的显示可以在系统设置上更改掉,比如分辩率,选择后不能松开鼠标。3.关机如果选择虚拟机上的挂起选项的话,下次打开会自动打开上次未被关闭的界面,关闭Windows之前一定要将虚拟机关掉,不然会导致虚拟机的文件丢失,导致无法开机。4.网络方面,NAT模式是...原创 2020-02-01 17:15:44 · 622 阅读 · 0 评论 -
windows10下搭载Linux子系统
关于Windows下运行Linux,大多数人会想到虚拟机,但是虚拟机有个缺陷就是运行卡顿,上网较慢,所以下面为大家介绍一种可以直接运行Windows下的子系统Linux的方式,以Ubuntu为例。第一步:打开设置,搜素Windows更新,然后找到开发者选项,然后打开开发人员模式。第二步:打开控制面板,程序,启用或关闭Windows功能,下滑,找到适用于Linux的Windows子系统,勾选,重...原创 2020-02-01 16:52:45 · 1953 阅读 · 0 评论