3.13信号编程(第二阶段)

该博客展示了C语言中使用信号(signal)进行进程间通信的示例代码。`signalDemo1.c`实现了捕获并处理SIGINT和SIGUSR1信号的程序,而`signalDemoCON.c`则用于发送指定信号到目标进程。通过`system`调用执行`kill`命令来发送信号,讨论了基本的进程间通信和信号处理机制。

3.13信号编程(第二阶段)

代码展示
signalDemo1.c
gcc signalDemo1.c -o pro

#include <signal.h>
#include <stdio.h>
//       typedef void (*sighandler_t)(int);

//       sighandler_t signal(int signum, sighandler_t handler);

void handler(int signum)
{
	printf("get signum%d\n",signum);
	switch(signum){
		case 2:
			printf("SIGINT\n");
			break;
		case 9:
                        printf("SIGKILL\n");     
                        break;
		case 10:
                        printf("SIGUSR1\n");     
                        break;
	

	}




	printf("never quit\n");

}


int main()
{
	signal(SIGINT,handler);
	signal(SIGINT,handler);
	signal(SIGUSR1,handler);

	while(1);
	
	return 0;
}

signalDemoCON.c
gcc signalDemoCON.c

#include <signal.h>
#include <stdio.h>
#include <sys/types.h>

//       int kill(pid_t pid, int sig);



//       typedef void (*sighandler_t)(int);

//       sighandler_t signal(int signum, sighandler_t handler);



int main( int argc,char **argv)
{
	int signum;
	int pid;
	
	char cmd[128]={0};

	signum = atoi(argv[1]);
	pid = atoi(argv[2]);
	
	printf("num=%d,pid=%d\n",signum,pid);
	
//	kill(pid,signum);
	
	sprintf(cmd,"kill -%d %d",signum,pid);
	system(cmd);

	printf("send signal ok\n");

	return 0;
}
### Python 3.13 编程入门指南与最佳实践 Python 3.13 是 Python 编程语言的一个较新版本,它在语法、性能和标准库方面进行了多项改进,以提升开发者的编程体验和代码质量。对于初学者而言,Python 3.13 提供了更加直观的语法结构和更强大的调试工具,使得学习过程更加高效[^1]。 #### 入门指南 1. **安装 Python 3.13** 在开始编程之前,需要从 Python 官方网站下载并安装 Python 3.13。安装过程中,请确保勾选“将 Python 添加到系统路径”的选项,以便在命令行中可以直接运行 Python 命令。 2. **选择合适的开发工具** 推荐使用集成开发环境(IDE)如 PyCharm、VS Code 或者 Jupyter Notebook 来编写 Python 代码。这些工具提供了代码高亮、自动补全、调试等功能,有助于提高开发效率。 3. **学习基础语法** Python 的语法简洁明了,适合初学者入门。可以通过官方文档、在线课程或书籍来学习基础语法。例如,书中提到的通过游戏开发来学习 Python 编程的方法,可以帮助初学者更好地理解和掌握语言特性[^2]。 4. **实践项目** 实践是学习编程的最佳方式。可以从简单的项目开始,如编写一个计算器、爬取网页数据或创建一个简单的 Web 应用。随着技能的提升,可以尝试更复杂的项目,如数据分析、机器学习模型训练等。 #### 最佳实践 1. **代码风格** 遵循 PEP 8 编码规范是 Python 社区推荐的做法。PEP 8 规定了代码的缩进、命名、注释等方面的规则,有助于编写出更加清晰、可维护的代码。 2. **使用虚拟环境** 在开发多个项目时,建议为每个项目创建独立的虚拟环境。可以使用 `venv` 模块来创建虚拟环境,避免不同项目之间的依赖冲突。 3. **版本控制** 使用 Git 进行版本控制是现代软件开发的标准做法。可以将代码托管在 GitHub、GitLab 等平台上,方便团队协作和代码管理。 4. **测试与调试** 编写单元测试是确保代码质量的重要手段。Python 提供了 `unittest` 和 `pytest` 等测试框架,帮助开发者验证代码的正确性。此外,使用调试工具如 `pdb` 可以更方便地定位和修复代码中的错误。 5. **性能优化** 虽然 Python 是一种解释型语言,但在某些场景下仍然可以通过优化代码结构、使用 C 扩展或 JIT 编译器(如 PyPy)来提升性能。 #### 示例代码 以下是一个简单的 Python 3.13 示例,展示了如何定义一个函数并调用它: ```python def greet(name: str) -> None: """打印欢迎信息""" print(f"Hello, {name}!") greet("Alice") ``` 在这个例子中,定义了一个名为 `greet` 的函数,它接受一个字符串参数 `name`,并打印出欢迎信息。通过类型提示(`name: str` 和 `-> None`),增强了代码的可读性和可维护性。 ####
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值