![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
文章平均质量分 76
黄色的拉拉6
BU & MU 少儿编程
展开
-
基于Ncurse图形库的贪吃蛇(C语言)
【代码】基于Ncurse图形库的贪吃蛇(C语言)原创 2024-03-15 21:26:40 · 142 阅读 · 0 评论 -
Linux项目 ftp云盘
功能指令展示服务器有哪些文件-------------ls显示当前服务器路径----------------pwd进入服务器的某个文件夹----------cd获取服务器的文件-------------------get上传文件到服务器-------------------put查看客户端本地文件----------------lls进入客户端某个文件夹-------------lcd显示当前客户端路径----------------lpwd客户端从服务端断开连接--------- qu原创 2021-04-13 18:59:36 · 386 阅读 · 2 评论 -
Linux 6.文件属性(stat、fstat)
每个文件中都附带了这个文件的一些属性(属性信息是存在于文件本身中的,但是它不像文件的内容一样可以被vi打开看到,属性信息只能被专用的API打开看到)文件属性信息查看的API有三个:stat、fstat、lstat,三个作用一样,参数不同,细节略有不同。linux命令行下还可以去用stat命令去查看文件属性信息,实际上stat命令内部就是使用stat系统调用来实现的。原创 2024-04-17 09:16:30 · 906 阅读 · 0 评论 -
Linux 5.socket网络编程
socket概述套接字是通信的基石,是支持TCP/IP协议的路通信的基本操作单元。可以将套接字看作不同主机间的进程进行双间通信的端点,它构成了单个主机内及整个网络间的编程界面。套接字存在于通信域中,通信域是为了处理一般的线程通过套接字通信而引进的一种抽象概念。套接字通常和同一个域中的套接字交换数据(数据交换也可能穿越域的界限,但这时一定要执行某种解释程序),各种进程使用这个相同的域互相之间用Internet协议簇来进行通信。Socket(套接字)可以看成是两个网络应用程序进行通信时,各自通信连接中的端点原创 2021-03-28 20:47:27 · 298 阅读 · 0 评论 -
Linux 4.线程操作(线程初始化、互斥锁、条件变量)
Linux线程介绍线程与进程典型的UNIX/Linux进程可以看成只有一个控制线程:一个进程在同一时刻只做一件事情。有了多个控制线程后,在程序设计时可以把进程设计成在同一时刻做不止一件事,每个线程各自处理独立的任务。线程:是程序执行时的一个实例,是担当分配系统资源(CPU时间、内存等)的基本单位。在面向线程设计的系统中,进程本身不是基本运行单位,而是线程的容器。程序本身只是指令、数据及其组织形式的描述,进程才是程序(那些指令和数据)的真正运行实例。进程:线程是操作系统能够进行运算调度的最小单位。它被原创 2021-03-17 22:05:33 · 972 阅读 · 0 评论 -
Linux 3.进程间通信(shmget shmat shmdt shmctl 共享内存、signal signaction sigqueue 信号、semget semctl semop 信号量)
Linux 3.进程间通信(IPC)共享内存共享内存的接口指令shmget 创建获取获取共享内存shmat 映射:连接共享内存到当前进程的地址空间shmdt 断开与共享内存的连接shmctl 控制或者删除共享内存的相关信息共享内存 示例shmw.outshmr.out共享内存共享内存,顾名思义就是允许两个不相关的进程访问同一个逻辑内存,共享内存是两个正在运行的进程之间共享和传递数据的一种非常有效的方式。共享内存的接口指令查看系统中的共享存储段ipcs -m删除系统中的共享存储段ipc原创 2021-09-12 16:21:47 · 515 阅读 · 0 评论 -
Linux 3.进程间通信(IPC)(pipe 无名管道、mkfifo 有名管道、ftok、msgget、msgrcv、msgsnd、msgctl 消息队列)
Linux 3.进程间通信(IPC)进程间通信:进程间方式:pipe 管道(无名管道)头文件及原型特点pipe 示例进程间通信:不同进程之间传数据、交换信息。进程间方式:管道(无名管道和命名管道)消息队列信号量共享内存socketsteams等。其中socket 和 steams 支持不同主机上的两个进程通信。pipe 管道(无名管道)通常指无名管道,是Unix 系统 IPC最古老的形式。头文件及原型#include <unistd.h>int pipe(in原创 2021-09-10 20:08:51 · 548 阅读 · 1 评论 -
Linux 2.进程(小技巧:让程序不能被多次运行)
具体做法是程序在执行之初去判断一个特定的文件是否存在,若存在则标明进程已经在运行,若不存在则标明进程没有在运行。然后运行程序时去创建这个文件。意思就是说当我们./a.out去运行程序时,如果当前还没有这个程序的进程运行则运行之,如果之前已经有一个这个程序的进程在运行则本次运行直接退出(提示程序已经在运行)。我们守护进程一般都是服务器,服务器程序只要运行一个就够了,多次同时运行并没有意义甚至会带来错误。因为守护进程是长时间运行而不退出,因此./a.out执行一次就有一个进程,执行多次就有多个进程。原创 2024-04-19 11:50:09 · 441 阅读 · 0 评论 -
Linux 2.进程(守护进程)
服务器(Server),服务器程序就是一个一直在运行的程序,可以给我们提供某种服务(譬如nfs服务器给我们提供nfs通信方式),当我们程序需要这种服务时我们可以调用服务器程序(和服务器程序通信以得到服务器程序的帮助)来进程这种服务操作。与控制台脱离(普通进程都和运行该进程的控制台相绑定,表现为如果终端被强制关闭了则这个终端中运行的所有进程都被会关闭,背后的问题还在于会话)在 Linux 系统中,守护进程的父进程通常是初始化进程。daemon,表示守护进程,简称为d(进程名后面带d的基本就是守护进程)原创 2024-04-18 21:44:56 · 712 阅读 · 0 评论 -
Linux 2.进程(return、exit、_exit、atexit注册进程终止处理函数)
return和exit效果一样,都是会执行进程终止处理函数,但是用_exit终止进程时并不执行atexit注册的进程终止处理函数。正常终止:return、exit、_exit。非正常终止:自己或他人发信号终止进程。原创 2024-04-18 14:18:17 · 309 阅读 · 0 评论 -
Linux 2.进程(exec族函数 和 fork、system、popen函数)
Linux 2.进程(exec族函数和fork、system、popen函数)exec 族函数和 fork 函数的结合exec 族函数和 fork 函数的结合做一个类似有客户端连接了服务器,服务端创建一个子进程,然后去修改 test.config 文件中的 LENGTH 的值把它改成 8 。...原创 2021-09-09 12:45:45 · 284 阅读 · 0 评论 -
Linux 2.进程(exec族函数)
Linux 2.进程(exec族函数)exec族函数作用exec头文件及原型exec参数exec返回值execlexec族函数作用如果一个进程想执行另一个程序,那么它就可以调用fork函数新建一个进程,然后调用exec函数族中的任意一个函数,这样看起来就像通过执行应用程序而产生了一个新进程(这种情况非常普遍)。exec头文件及原型#include <unistd.h>int execl(const char * path,const char * arg,…);int execle原创 2021-09-08 20:56:34 · 535 阅读 · 0 评论 -
Linux 2.进程(ps、top、fork、vfork、wait、waitpid、getpid、getppid)
进程什么是程序,什么是进程?程序进程如何查看系统中有哪些进程?1、使用 ps 指令查看2、使用top指令查看什么是进程标识符?什么是父进程,什么是子进程?C程序中的存储空间是如何分配的?什么是程序,什么是进程?程序就是静态的一个概念。比如 gcc a.c -o a.out那么这样就会在磁盘生成一个文件 a.out ,这个 a.out 就是一个程序。进程进程是我们程序的一次运行活动,当我们去运行这个 a.out 的时候,那么这个程序就跑起来了,此时系统中会多了一个进程。如何查看系统中有哪些进程?原创 2021-09-07 20:47:07 · 1288 阅读 · 0 评论 -
Linux 1.文件编程(dup、dup2)
进程在最开始运行的时候,首先打开了三个文件,分别是标准输入流、标准输出流、标准错误输出流。证明的时候我是把标准输出留给关闭了,然后紧接着创建的文件就会占用已关闭的标准输出流,使得本该流向显示器的数据流向了新创建的文件。先不谈底层的原理,就只看表象,就像是使数据流的方向从一个方向,指向了另一个方向,完成了数据流的方向重定向。由dup返回的新文件描述符一定是当前可用文件描述中的最小数值。如果fd2已经打开,则先关闭。两个函数的返回:若成功为新的文件描述,若出错为-1;两个均为复制一个现存的文件的描述。原创 2024-04-15 15:49:42 · 351 阅读 · 0 评论 -
Linux 1.文件编程(fopen、fwrite、fseek、fread、flose、fputc、fgetc、feof)
Linux 1.文件编程(fopen、fwrite、fseek、fread、fputc、feof、fgetc)fopenfopen功能fopen头文件及原型fopen参数fopen返回值fwritefwrite功能fwrite头文件及原型fwrite参数fwrite返回值fseekfseek功能fseek头文件及原型fseek参数fseek返回值freadfread功能fread头文件及原型fread参数fread返回值fopenfopen功能使用给定的模式mode打开filename所指向的文件。原创 2021-09-03 15:49:48 · 323 阅读 · 0 评论 -
Linux 1.文件编程(main函数的带参的形式、实现cp指令、修改文件里面的数据、对文件写入一个整数、对文件写入一个数组、对文件写入一个结构体、对文件写入结构体数组)
文件编程(实现cp指令、修改文件里面的数据、对文件写入一个整数、对文件写入一个结构体、写入结构体数组)原创 2021-08-30 15:46:24 · 164 阅读 · 0 评论 -
Linux 1.文件编程(open、creat、write、read、lseek)
Linux 1.文件编程文件的打开及创建(open和creat)open函数的头文件文件的打开及创建(open和creat)open函数的头文件#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>int open(const char *pathname, int flags);int open(const char *pathname, int flags, mode_t mode);原创 2021-08-16 01:58:43 · 1757 阅读 · 0 评论 -
Linux常用初级指令介绍和使用 && Linux虚拟机和windows间的文件传输方式 && /mnt/hgfs没有出现共享文件夹的解决办法
这里写目录标题/mnt/hgfs没有出现共享文件夹的解决办法:Linux虚拟机和windows间的文件传输方式Linux常用初级指令介绍和使用/mnt/hgfs没有出现共享文件夹的解决办法:sudo vmhgfs-fuse .host:/ /mnt/hgfs/ -o allow_other -o uid=1000Linux虚拟机和windows间的文件传输方式Linux常用初级指令介绍和使用...原创 2021-06-29 21:50:19 · 153 阅读 · 0 评论