函数 tcgetpgrp tcsetpgrp 和 tcgetsid

news2024/9/25 11:12:16

① tcgetpgrp & tcsetpgrp 函数


在这里插入图片描述

tcgetpgrp函数是用来获取前台进程组的ID

#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <fcntl.h>
int main()
{

    printf("我的ID:%d---我是进程组ID:%d\n",getpid(),getpgrp());//输出当前进程ID
    //获取控制终端
    int tty_fd = open("/dev/tty",O_RDWR);
    if(tty_fd == -1)
    {
        perror("open tty ... ");
        return -1;
    }  


    //获取前台运行的进程组组ID
    printf("前台进程组组ID:%d\n",tcgetpgrp(tty_fd));


    if(close(tty_fd) == -1)
    {
        perror("close tty ... ");
        return -1;
    }
    return 0;
}

运行结果:
在这里插入图片描述

这里是打开tty设备之后才有了控制终端的fd,一般情况下应用程序是不调用这两个接口的,
一般都是作业控制shell调用。

② tcgetsid 函数

在这里插入图片描述

该函数是获取会话首进程的进程组ID,当然,需要具有控制终端的程序才能调用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/430573.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【MySQL学习】MySQL库的操作

目录一、查看数据库的连接二、数据库的创建三、字符集和校验规则3.1 查看数据库默认的字符集以及校验规则3.2 查看数据库支持的字符集以及校验规则3.3 校验规则对数据库的影响四、操纵数据库4.1 查看数据库4.2 显示创建语句4.3 修改数据库4.4 数据库的删除五、数据库的备份与恢…

Nginx中的location规则与rewrite

nginx正则表达式 ^$空行 \d数字 \D代表非数字 \s 匹配空白符 \S 非空白字符 \w匹配任意单词符包括下划线[A-Za-z0-9_] {n} 匹配起那面字符n次 .* 除换行符\n匹配任意字符多次 {n,m}匹配前面字符5到10次 [abc] 匹配一次a,b,c ( )表达式的开始和结束 | 或运算符 &#…

【uniapp】sigmob广告加载失败:-5005、500422没有imei的解决办法(原创可用)

问题 最近打算将开发的uniapp应用对接uni-ad广告中去&#xff0c;在对接sigmob的时候出现了以下问题&#xff1a;①错误码-5005&#xff0c;查询了以下官方文档&#xff0c;发现是说我频繁调用&#xff0c;可是并没有&#xff0c;我是在真机上测试的没成功就没在弄了&#xff…

【力扣-876】链表的中间结点

&#x1f58a;作者 : Djx_hmbb &#x1f4d8;专栏 : 数据结构 &#x1f606;今日分享 : ----------小Tips&#xff1a; 虽然都是口服液体制剂&#xff0c;且看起来单支容量都一样&#xff0c;但是“藿香正气水”与“藿香正气口服液”的区别你知道吗&#xff1f;藿香正气水里含有…

Vue电商项目实战之角色列表添加,编辑,删除功能

这是黑马vue电商项目后台,自己需要完成的功能,这里仅供参考当然还需要自己去理解. 一.添加功能 在roles.vue中 1.添加角色的对话框 代码如下: <!-- 添加角色的对话框 --><el-dialog :visible.sync"addRoleDialogVisible" title"添加角色" widt…

【C++技能树】原来比C方便这么多 --缺省参数、函数重载、引用讲解

Halo&#xff0c;这里是Ppeua。平时主要更新C语言&#xff0c;C&#xff0c;数据结构算法......感兴趣就关注我吧&#xff01;你定不会失望。 &#x1f308;个人主页&#xff1a;主页链接 &#x1f308;算法专栏&#xff1a;专栏链接 我会一直往里填充内容哒&#xff01; &…

DPCNN分类模型

论文 Deep Pyramid Convolutional Neural Networks for Text Categorization 提出深层金字塔卷积网&#xff08;DPCNN&#xff09;是 word-level 的广泛有效的深层文本分类卷积神经网络&#xff0c;比 TextCNN&#xff08;浅层CNN&#xff09;性能明显提高。 TextCNN 不能通过卷…

Unity InputSystem (一)

什么是InputSystem InputSystem 是 2019 年 Unity 新推出的插件&#xff0c;输入系统包实现了一个系统来使用任何类型的输入设备来控制你的 Unity 内容。它旨在成为 Unity 的经典输入管理器更强大、更灵活、更可配置的替代品。 新输入系统基于事件&#xff0c;输入设备和动作逻…

Redis 哨兵和集群

文章目录1. 单机模式2. 主从架构3. 哨兵4. 集群模式5. 哈希槽是什么&#xff1f;1. 单机模式 Redis 单副本&#xff0c;采用单个 Redis 节点部署架构&#xff0c;没有备用节点实时同步数据&#xff0c;不提供数据持久化和备份策略&#xff0c;适用于数据可靠性要求不高的纯缓存…

【硬件外设使用】——SPI

【硬件外设使用】——SPI SPI基本概念SPI通信协议SPI使用方法pyb.spimachine.spi SPI可用的传感器 SPI基本概念 SPI是一种串行端口通信接口&#xff0c;它是一种同步的全双工协议&#xff0c;用于在数字电路之间传输数据。SPI代表串行外设接口&#xff0c;是一种非常流行的数字…

UDS诊断测试

UDS&#xff08;Unified Diagnostic Services&#xff0c;统一的诊断服务&#xff09;诊断协议是在汽车电子ECU环境下的一种诊断通信协议。这种通信协议被用在几乎所有由OEM一级供应商所制造的新ECU上面。这些ECU控制车辆的各种功能&#xff0c;包括电控燃油喷射系统&#xff0…

TI在物联网和AI边缘计算中落伍了吗?

摘要&#xff1a;本文介绍一下TI在边缘计算工作中所做的努力。 发明“人工智能”这个term的老头儿也不会想到人工智能在中国有多火。 不管是懂还是不懂&#xff0c;啥东西披上“人工智能“的面纱都能瞬间成为大项目。 学习AI 的年轻人认识NVIDIA&#xff0c;可能不太知道DSP是…

金毅:10x HTAP,企业级关系型数据库内核技术创新与演进

导语4月8日下午&#xff0c;为期两天的第十二届数据技术嘉年华&#xff08;DTC 2023&#xff09;在北京新云南皇冠假日酒店圆满落下帷幕。大会以“开源融合数字化——引领数据技术发展&#xff0c;释放数据要素价值”为主题&#xff0c;汇聚产学研各界精英到场交流。作为大会的…

网络原理之UDP

hi,大家好,又见面了,今天为大家介绍一下UDP的网络原理&#x1f437;&#x1f437;&#x1f437; 文章目录认识UDP报文格式UDP特点TCP,UDP应用场景基于UDP的应用层协议认识UDP报文格式 UDP特点 TCP,UDP应用场景 基于UDP的应用层协议 1.认识UDP报文格式 其实在真正传输的…

批量记录收支明细:手把手教你如何查看上个月的收支明细并打印。

记录收支明细太久&#xff0c;想要快速查看并筛选出上个月的某一个明细要如何进行查询&#xff0c;还要进行打印要如何操作&#xff1f;今天就由小编来教教大家要如何操作。 首先第一步&#xff0c;我们要进入晨曦记账本主页面&#xff0c;点击主页面上方功能栏里的“添加收支…

聚焦云原生安全|安全狗云甲荣膺CSA 2022安全金盾奖

4月13日&#xff0c;第六届云安全联盟大中华区大会“年度颁奖典礼”表彰仪式顺利开展。作为国内云原生安全领导厂商&#xff0c;安全狗也收到邀请出席此次活动。​ 此次活动上&#xff0c;“年度颁奖典礼”作为重要环节之一&#xff0c;获得业界的关注。安全狗旗下云原生安全产…

zabbix介绍及部署(超详细讲解)

目录 1.zabbix的基本概述 2.zabbix的构成 1、Server 2、web页面 3、数据库 4、proxy 5、Agent 3.zabbix的监控对象 4.zabbix的常用术语 5.zabbix的工作流程 1、主动模式 2、被动模式 6.zabbix进程详解 7.zabbix的监控框架 1、server_client架构 2、zabbix_prox…

一文搞懂C#工程中程序数据库文件.pdb(符号文件)的作用,延伸搞懂Debug/Release、AnyCPU(首选32位)/x86/x64/ARM的区别

一、准备工作 MS引用&#xff1a;在 Visual Studio 调试器&#xff08;C#、C、Visual Basic、F#&#xff09;中指定符号 (.pdb) 和源文件 MS引用&#xff1a;为 C#、ASP.NET 或 Visual Basic 项目 &#xff08;.NET Framework&#xff09; 生成符号文件 MS引用&#xff1a;用…

ASP.NET动态Web开发技术第6章续

第6章续ASP.NET内置对象一.预习笔记 1.ASP.NET提供了七大内置对象&#xff0c;Page、Request、Response、Application、Session、Server和Cookies。这些对象使用户更容易收集通过浏览器请求发送的信息、响应浏览器以及存储用户信息&#xff0c;以实现其他特定的状态管理和页面…

【动力节点】杜老师Vue笔记——Vue程序初体验

目录 一、Vue程序初体验 1.1 下载并安装vue.js 1.2 第一个Vue程序 1.3 Vue的data配置项 1.4 Vue的template配置项 一、Vue程序初体验 可以先不去了解Vue框架的发展历史、Vue框架有什么特点、Vue是谁开发的&#xff0c;对我们编写Vue程序起不到太大的作用&#xff0c;…