Linux学习笔记(10)-信号】的更多相关文章

信号的基本概念     信号是软件中断,信号提供了解决异步时间的方法.     每一中信号都有一个名字,信号名以SIG开头. 产生信号的几种方式     很多条件可以产生信号:     终端交互:用户按下某一些按键,如ctl+c,会产生信号.     硬件异常:如除数为0,内存引用错误.     kill(2)函数:将信号发送到一个进程或者进程组     kill(1)命令:该命令为kill(2)函数的接口.用于终止失控的后台in成.     检测到某软件条件发生:如网络连接上传来外数据(产生S…
上一节中讲到了sigprocmask函数,它的作用是检查或修改它的进程信号掩码,这一节我们主要学习捕捉与忽略信号的函数sigaction和等待信号函数. 一  sigaction函数的作用 定义在接收到参数sig指定的信号后应该采取的行动,声明如下: #include <signal.h> int sigaction(int sig, //指定动作的信号码 const struct sigaction * act, //说明要采取的动作,如果为NULL,对sigaction的调用就不能改变与信…
signal函数     signal函数是早起Unix系统的信号接口,早期系统中提供不可靠的信号机制.在后来的分支中,部分系统使用原来的不可靠机制定义signal函数,如 Solaris 10 .而更多的系统采用新语义 可靠信号机制,如4.4BSD.     出于signal函数不同系统的不统一性,我们一般使用sigaction函数取代它.关于sigaction函数,我们在本文后面做详细介绍. 函数原型: #include <signal.h> void (*signal(int signo…
一 信号的基本概念 信号:是向进程发送的软件通知,通知进程有事件发生. 生成:表示一个信号的产生. 捕获:表示接收到一个信号. 信号的寿命:信号的生成和传递之间的时间间隔. 挂起的信号:已经生成但还未被传递的信号. 二 产生信号 每个信号名都是以SIG开头,信号的名字都定义在signal.h中,POSIX必需的信号如下: 信号 描述 SIGABRT 进程放弃(signal abort) SIGALRM 告警时钟(signal alarm) SIGBUS 访问了内存对象中的为定义部分 SIGCHL…
1.gzip压缩 gzip a.txt 2.解压 gunzip a.txt.gzgzip -d a.txt.gz 3.bzip2压缩 bzip2 a 4.解压 bunzip2 a.bz2bzip2 -d a.bz2 5.将当前目录的文件打包 tar -cvf bak.tar .将/etc/password追加文件到bak.tar中(r)tar -rvf bak.tar /etc/password 6.解压 tar -xvf bak.tar 7.打包并压缩gzip tar -zcvf a.tar.…
sudo yum install nginx sudo systemctl status nginx sudo systemctl start nginx 检查端口:netstat -tlpn sudo hostname -I | awk '{print $1}'  //获取主机ip https://www.linuxidc.com/Linux/2019-11/161440.htm 正常的话就可以通过浏览器输入ip访问默认nginx网页了. 如果不行关闭防火墙systemctl stop fir…
UNIX系统中的大多数文件I/O只需要用到5个函数:open,read,write,lseek以及close 文件描述符 文件描述符是一个非负整数,所有打开的文件都通过文件描述符引用 文件描述符的变化范围是0-OPEN_MAX,OPEN_MAX是每个进程最多打开的文件 1.open函数 #include<fcntl.h> int open(const char* pathname, int flag, mode_t mode ); //若成功则返回文件描述符,若出错则返回-1 flag打开方式…
创建文件 touch touch filenames 创建文件夹 mkdir mkdir dir3 dir4 dir5 建立多个文件夹 mkdir ~/games  在登录用户的本目录之下建立games文件夹 mkdir -p dir6/dir7/dir8 建立多层文件夹 复制  复制文件夹 例如     -->tomcat    源文件夹待拷贝   |  其他 |   文件夹 |    tomcat_2   目的文件夹  空文件夹 步骤 #cd tomcat 进入tomcat文件夹 #cp -…
chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. 使用语法: chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level <等级代号>][系统服务][on/off/reset] chkconfig在没有参数运行时,显示用法.如果加上服务名,那么就检查这个服务是否在当前运行级启动.如果是,返回true,否则返回false.如果在…
转载注明出处:Windeal学习笔记 kil和raise kill()用来向进程或进程组发送信号 raise()用来向自身进程发送信号. #include <signal.h> int kill(pid_t pid,int signo); int raise(int signo); Both return: 0 if OK,−1 on error kill向进程号为pid的进程发送signo信号 可以看出 下面两行代码是等价的: kill(getpid(), signo); raise(sig…