《unix环境高级编程》学习笔记【原创】
2024-09-04 16:14:53
本文基于unix环境高级编程的学习的笔记,写的比较简如有不对,欢迎指点。
简单的描述下面函数的功能改变ctr+c信号原本的作用终止程序,在按下中断键的时候输出一句话。
while循环主要读取用户的输入,根据用户的输入解析输入的命令之后调用exec函数执行命令
#include "apue.h"
#include <sys/wait.h> void sig_int(int signo)
{
printf("interrup\r\n");
} int main(void)
{
char buf[MAXLINE];
pid_t pid;
int status; if(signal(SIGINT,sig_int) == SIG_ERR)
err_sys("signal error"); printf("%%");
while(fgets(buf,MAXLINE,stdin) != NULL){
if(buf[strlen(buf) - ] == '\n')
buf[strlen(buf) - ] = ;
if((pid = fork()) < ){
err_sys("fork error\r\n");
}else if(pid == ){
execlp(buf,buf,(char *));
err_ret("couldn't execute:%s",buf);
exit();
} if((pid = waitpid(pid,&status,)) < )
err_sys("waitpid error");
printf("%% "); }
exit(); return ;
}
运行情况如下:
1.10
最新文章
- FireFox每次访问页面时检查最新版本
- windows添加linux 启动引导项
- 解决Spring4 MVC请求json数据报406错误
- HDU5829 NTT
- Java更新XML的四种常用方法简介
- centos6.5安装vsftp服务并配置虚拟账户ftp
- 利用GDB在远程开发机进行调试
- hdu4393 Throw nails(只用模拟前面500来次,后面根据速度、位置、id值排序即可)
- LeetCode 202. Happy Number (快乐数字)
- java时间操作
- P1090 合并果子 题解
- 《SpringMVC从入门到放肆》八、SpringMVC注解式开发(基本配置)
- mongodb突然出现不是内外部命令或可执行
- 如何在Linux上清理内存缓存、缓冲与交换空间
- python正则表达式模块re:正则表达式常用字符、常用可选标志位、group与groups、match、search、sub、split,findall、compile、特殊字符转义
- 洛谷 P1691 有重复元素的排列问题 解题报告
- .NetCore下使用Prometheus实现系统监控和警报 (五)进阶自定义收集指标 之 Counter
- 多进程于多线程的区别,cpu密集型适合用什么
- python读取grib grib2气象数据
- SSM 框架快速整合实例--学生查询
热门文章
- SVG动画实践篇-字母切换
- android TextView 设置字体大小
- C# 将链表存入二进制文件及读取二进制文件得到链表示例
- pwm驱动原理和代码实现
- Kick the ball!(dfs)湖南省赛第十届
- html嵌套规则
- BEGINNING SHAREPOINT&;#174; 2013 DEVELOPMENT 第11章节--为Office和SP解决方式开发集成Apps Office的JavaScript对象模型
- WinDbg抓取dmp文件
- 读陈浩的《C语言结构体里的成员数组和指针》总结,零长度数组
- XML(四)dom4j解析XML