
Linux
Top丶齊
Loading......
展开
-
Linux下的部分重要目录和命令
/proc:虚拟文件系统,此目录是kernel加载后,在内存里面建立的一个虚拟目录,有专属的文件系统,主要提供系统一些实时的信息,此目录下不能建立和删除文件;(某些文件可以修改)/proc主要作用可以整理为:–整理系统内部的信息;–存放主机硬件信息;–调整系统执行时的参数;–检查及修改网络和主机的参数;–检查及调整系统的内存和性能/sys:虚拟文件系统,被建立在内存中,是在2.6版的...原创 2019-03-27 21:25:26 · 389 阅读 · 0 评论 -
Linux信号量的理解和使用
信号量信号量是一个计数器,可用于实现多线程和多进程之间的临界资源访问安全和合理性,即同步与互斥; 这里我主要实现的是线程间的同步与互斥;信号量分类信号量可分为:内核信号量和用户信号量 内核信号量:由内核控制路径使用  ...原创 2019-09-21 14:58:29 · 759 阅读 · 0 评论 -
Linux多线程
Linux线程线程是进程内部的控制序列也就是一个执行流;Linux下的线程以进程pcb模拟实现的,并且这些pcb共用同一个虚拟地址空间,共享进程中的大部分资源;Linux下的线程实际上是一个轻量级进程,相较传统进程更加轻量化;进程与线程之间的联系和区别进程是操作系统资源分配的基本单位;程序运行后资源是分配给线程组的;线程是CPU调度的基本单位;CPU通过调度线程pcb实现程序调度一...原创 2019-09-19 12:59:51 · 196 阅读 · 0 评论 -
Linux进程信号操作
信号捕捉流程:以SIGQUIT为例:用户程序注册了SIGQUIT信号的处理函数sighandler。当前正在执行main函数,这时发生中断或异常切换到内核态。在中断处理完毕后要返回用户态的main函数之前检查到有信号SIGQUIT递达。内核决定返回用户态后不是恢复main函数的上下文继续执行,而是执行sighandler函数,sighandler和main函数使用不同的堆栈空间,它们之...原创 2019-09-18 21:15:27 · 159 阅读 · 0 评论 -
Linux进程信号
Linux中的信号及产生原因这里就不再多说。若有不了解可查看Linux中信号signal及其产生原因进程信号linux中的信号种类:62种 1~31非可靠信号 34~64可靠信号进程信号是进程之间事件异步通信的一种方式,属于软中断。通俗的来说软中断是由进程产生的,硬中断是由硬件产生的。硬中断是外部设备对CPU的中断,软中断是中断底半部的一种处理机制,信号则是由内核(或其他进程)对...原创 2019-09-18 11:49:35 · 117 阅读 · 0 评论 -
进程间通信
进程间通信 通俗来讲在使用正在运行中程序时,不可避免需要在程序间通信一些数据,这就是进程间通信。 进程间通信(IPC,Interproc...原创 2019-09-17 15:07:03 · 129 阅读 · 0 评论 -
编写简单的shell(输入输出重定向)
#include <stdio.h>#include <errno.h>#include <unistd.h>#include <stdlib.h>#include <string.h>#include <fcntl.h>#include <wait.h>#include <ctype.h>...原创 2019-04-21 22:50:32 · 575 阅读 · 0 评论 -
Linux下的IO
基础IO:标准库的IO接口 fopen fclose fread fseek fwrite -----------FILE*标准库的接口是对系统库接口的一种封装fopen:FILE * fopen(const char * path, const char * mode);//返回值:文件顺利打开后,指向该流的文件指针就会被返回。//如果文件打开失败则返回 NULL,并把错误代码存在e...原创 2019-04-21 14:19:33 · 185 阅读 · 0 评论 -
环境变量 setenv函数 和 export命令
环境变量 用于设置系统运行环境参数的变量--拥有全局特性查看方法:envsetecho+$+环境名称删除方法:unset常见环境变量:PATH:指定搜索命令HOME:指定用户主目录SHELL:当前shellsetenv函数#include <stdlib.h>int setenv(const char *name, const char *v...原创 2019-04-12 20:28:49 · 1675 阅读 · 0 评论 -
Linux进程的创建, 等待,终止,替换
进程的创建:fork()函数复制:复制pcb–代码共享,数据独有 返回值:父进程返回子进程的PID>0 子进程返回0vfork()-父子进程共用同一块虚拟地址空间子进程先运行,并且子进程退出后或子进程替换运行另一段程序后,父进程才开始运行https://blog.youkuaiyun.com/qq_42185602/article/details/89254091进程的终止:终止场景:...原创 2019-04-12 19:49:09 · 134 阅读 · 0 评论 -
process_create
封装fork wait创建进程#include<unistd.h>#include<stdio.h>#include<sys/wait.h>#include<errno.h>typedef int pid_t;void process_create(pid_t *pid, int (*func)(), void *arg[]){ ...原创 2019-04-12 19:37:20 · 165 阅读 · 0 评论 -
fork popen system区别及用法(进程创建)
fork:fork与进程创建有关:fork函数在进程中创建子进程子进程复制父进程的pcb -------代码共享, 数据独有 #include <unistd.h> pid_t fork(void);#include<unistd.h>#include<stdio.h>#include<wait.h>...原创 2019-04-12 19:30:00 · 548 阅读 · 0 评论 -
Linux 中 信号signal 及其产生原因
输入 kill -l 查看所有的信号其中每个信号的产生原因转自 http://blog.youkuaiyun.com/wesleyluo/article/details/5279482信号 取值 默认动作 含义(发出信号的原因)SIGHUP 1 Term 终端的挂断或进程死亡SIGINT 2 Term ...转载 2019-04-12 16:36:27 · 1591 阅读 · 0 评论 -
简单实现进度条
#include<stdio.h> #include<unistd.h> #include<string.h> int main() { int i =0 ; char bar[100]; memset(bar,0,sizeof(bar)); //初始化bar const char *lable ...原创 2019-04-08 21:10:59 · 177 阅读 · 0 评论 -
yum和rpm
rpm安装软件rpm的使用rpm -ivh name.rpm ##安装 ,-v显示过程,-h指定加密方式为hash -e name ##卸载 -ql name ##查询软件生成文件 -qlp name.rpm ...原创 2019-04-08 21:00:01 · 80 阅读 · 0 评论 -
Linux下权限的相关概念
权限:[root@localhost eagle]# ls -l /etc/passwd-rw-r--r--. 1 root root 2287 Mar 5 06:24 /etc/passwd用户:普通用户,root用户文件用户分为:文件所有者u 文件所属组g 其他用户o文件操作:可读:r可写: w可执行性: x目录操作(对于rwx):r 查看目录内容w...原创 2019-03-27 21:44:12 · 149 阅读 · 0 评论 -
Linux线程池的实现
线程池线程池是线程的一种使用模式,是管理和利用多线程处理多任务的一种方法。解决的问题 当线程过多时,会带来调度开销,进而影响整体性能; &nbs...原创 2019-09-24 13:51:57 · 298 阅读 · 0 评论