Linux的进程互调技术(多语言互调)
创始人
2024-02-20 02:37:19
0

Linux的进程互调技术(多语言互调)

文章目录

  • Linux的进程互调技术(多语言互调)
    • 1.函数与进程之间的相似性
    • 2.多语言程序互调技术

1.函数与进程之间的相似性

如果你学过C语言,你应该有以下认识:

  • 一个C程序由很多函数组成,一个函数可以调用另一个函数,同时传递给它一些参数
  • 被调用的函数执行一定的操作,然后返回一个值
  • 每个函数都有它自己的局部变量
  • 不同函数通过call/return系统进行通信

这种通过参数和返回值,在拥有私有数据的函数间通信的模式是结构化程序设计的基础,Linux鼓励将这种应用于程序之内的模式扩展到程序之间,如下图:

请添加图片描述


2.多语言程序互调技术

程序之间相互调用的好处:我们都知道各个语言有自己独特的优势,当我们做某一技术开发时,可能需要用到多种语言,而我们最终就是利用程序之间的相互调用使得各个语言之间可以进行衔接

例如,一个C程序可以通过exec系列函数调用shell脚本、python以及C++等语言实现的程序

  1. Shell脚本

请添加图片描述

  1. Python代码:

请添加图片描述

  1. C++代码:

请添加图片描述

多种语言程序互调测试:

#include
#include
#include
#include
#include
int main()
{pid_t id=fork();if(id==0){//childexecl("./test.sh","test.sh",NULL); //调用Shell脚本//execl("./test.py","test.py",NULL); //调用Python脚本//execl("./test","test",NULL); //调用Python脚本exit(1);}int status=0;pid_t ret=waitpid(id,&status,0);if(ret>0){printf("exit code:%d\n",WEXITSTATUS(status));}return 0;
}

Shell脚本调用结果:

补充:shell脚本通过sh 脚本名调用

请添加图片描述

Python代码调用结果:

请添加图片描述

C++代码调用结果:

请添加图片描述

相关内容

热门资讯

福寿园人事调整:王计生卸任总裁... 福寿园(01448)发布公告,宣布自2025年12月12日起,王计生将不再担任公司总裁职务。王计生将...
生娃不花钱 影像检查全国互认 ... 政策范围内分娩个人“无自付”、脑机接口从实验室走进病房、医保影像检查结果全国互通互认。这些和老百姓看...
柳州警方悬赏10万元抓捕杀害2... 极目新闻记者 王灿 肖名远 12月14日,广西柳州市柳城县公安局发布警情通报:2025年12月11日...
警方通报男子持刀行凶致2人死亡... 12月14日,广西警方发布情况通报:2025年12月11日17时许,柳城县马山镇发生起刑事案件。经查...
重庆“10人聚餐9人开溜”事件... 重庆市九龙坡区“俩室一厅云南厨房万象城店”餐馆被客人欠费一事有了进展。12月14日,澎湃新闻从该餐馆...
多地五星级酒店客房惊现偷拍设备... 去年12月,一位上海市民像往常一样上班,不想在公司收到一封陌生的信件,里面是他在市内某酒店客房内的私...
警方摧毁跨13省特大制毒、贩毒... 新闻荐读 在崎岖蜿蜒的山路旁,三间砖房灯火通明,房间内弥漫着刺鼻的化学药剂味,几名男子在机器前埋头忙...
科技周报|京东提供15万套小哥... 京东宣布将为快递员、骑手提供15万套“小哥之家” 12月12日,京东宣布已面向一线员工提供了2.8万...