setpgid()】的更多相关文章

定义:int setpgid(pid_t pid,pid_t pgid); 表头文件:#include<unistd.h> 说明:setpgid()将参数pid 指定进程所属的组识别码设为参数pgid 指定的组识别码.如果参数pid为0, 则会用来设置目前进程的组识别码, 如果参数pgid为0, 则会以目前进程的进程识别码来取代. 返回值:执行成功则返回组识别码, 如果有错误则返回-1, 错误原因存于errno中. 相关函数:getpgid, setpgrp, getpgrp 错误代码:EIN…
#include<unistd.h> int setpgid(pid_t pid,pid_t pgid); 函数作用:将pid进程的进程组ID设置成pgid,创建一个新进程组或加入一个已存在的进程组 函数性质: 性质1:一个进程只能为自己或子进程设置进程组ID,不能设置其父进程的进程组ID. 性质2:if(pid == pgid), 由pid指定的进程变成进程组长;即进程pid的进程组ID pgid=pid. 性质3:if(pid==0),将当前进程的pid作为进程组ID. 性质4:if(pg…
进程与进程管理: 清屏:system("clear"); //#include <signal.h> 进程环境与进程属性: 什么是进程:简单的说,进程就是程序的一次执行过程. 进程的状态:进程基本三态:运行态.就绪态.封锁态(等待态)--状态可在一定的条件下变化.(其中处于等待的进程分为:可中断进程可以被信号中断其等待:不可中断进程在任何情况下都不可被中断,一直等待条件的满足).僵死进程:子进程先于父进程退出:从子进程终止到父进程调用wait()之前的时间段内,子进程被称为…
php下载页面 http://cn2.php.net/downloads.php 7.0.3多地区下载页面 http://cn2.php.net/get/php-7.0.3.tar.gz/from/a/mirror 直接下载地址 http://cn2.php.net/distributions/php-7.0.3.tar.gz 下载解压目录 /usr/local/php7.0.3 下载php压缩包    wget http://cn2.php.net/distributions/php-7.0.…
string 字符串操作 操作数的都是 ( char * )型,操作数必须是指向字符串的指针("a"),不能是字符('a'),操作时不考虑末尾的'\0'. size_t strlen( const char *s ); 字符串求长,返回字符串或指针的实际大小,和 sizeof() 不同,比如创建字符数组 strlen 只返回其中字符串的大小,不包括 '\0' char *strrev( char *s ); 字符串反转,不包括 NULL char *strcpy( char *dest…
编译安装php参考资料 MySQL PHP API http://dev.mysql.com/doc/apis-php/en/index.html nginx + php +mysql 最简单安装 官方介绍 http://php.net/manual/zh/install.unix.nginx.php php下载地址: http://cn2.php.net/distributions/php-5.6.7.tar.gz 编译php环境需要的包 autoconf: 2.13+(PHP < 5.4.0…
本文列出了大部分常见的Linux系统调用,并附有简要中文说明. 以下是Linux系统调用的一个列表,包含了大部分常用系统调用和由系统调用派生出的的函数.这可能是你在互联网上所能看到的唯一一篇中文注释的Linux系统调用列表,即使是简单的字母序英文列表,能做到这么完全也是很罕见的. 按照惯例,这个列表以man pages第2节,即系统调用节为蓝本.按照笔者的理解,对其作了大致的分类,同时也作了一些小小的修改,删去了几个仅供内核使用,不允许用户调用的系统调用,对个别本人稍觉不妥的地方作了一些小的修改…
1.可重入锁 如果锁具备可重入性,则称作为可重入锁. ========================================== (转)可重入和不可重入 2011-10-04 21:38 这种情况出现在多任务系统当中,在任务执行期间捕捉到信号并对其进行处理时,进程正在执行的指令序列就被信号处理程序临时中断.如果从信号处理程序返回,则继续执行进程断点处的正常指令序列,从重新恢复到断点重新执行的过程中,函数所依赖的环境没有发生改变,就说这个函数是可重入的,反之就是不可重入的.众所周知,在进…
[a] getpgid / setpgid #include <unistd.h> pid_t getpgid(pid_t pid) //成功返回进程组 ID,出错返回 -1 int setpgid(pid_t pid, pid_t pgid) //成功返回0,出错返回 -1  setpgid 用于改变指定进程的进程组或创建新的进程组 若 pid 为 0,则将调用进程自身转移到指定进程组 若 pgid 为 0,则以 pid 为首进程创建新的进程组 若二者同时为 0,即以调用进程自身为首进程创建…
/**************************************************************************** * program: proxyd * module: proxyd.c * summary: provides proxy tcp service for a host on an isolated network. * * programmer: Carl Harris (ceharris@vt.edu) * date: 22 Feb 9…
1 什么是Dalvik虚拟机 Dalvik是Google公司自己设计用于Android平台的Java虚拟机,它是Android平台的重要组成部分,支持dex格式(Dalvik Executable)的Java应用程序的运行.dex格式是专门为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统.Google对其进行了特定的优化,使得Dalvik具有高效.简洁.节省资源的特点.从Android系统架构图知,Dalvik虚拟机运行在Android的运行时库层. 2 Dalvik虚拟机的功能…
phpize扩展php模块 phpize 所在目录 /usr/etc/php/bin/phpize 查看当前php配置情况 /usr/etc/php/bin/下面的php [root@localhost bin]cd /usr/etc/php/bin [root@localhost bin]# ./php -i | grep configure Configure Command => './configure' '--prefix=/usr/etc/php' '--with-config-fi…
php网址 http://php.net/downloads.php 首先下载 php-5.6.5.tar.gz [root@localhost src]# wget http://cn2.php.net/distributions/php-5.6.5.tar.gz --2015-01-24 18:51:49-- http://cn2.php.net/distributions/php-5.6.5.tar.gz 正在解析主机 cn2.php.net (cn2.php.net)... 202.10…
os模块的简介请参看 Python::OS 模块 -- 简介 os模块的文件和目录操作 Python::OS 模块 -- 文件和目录操作 os模块的进程管理 Python::OS 模块 -- 进程管理 Python的os模块提供了对进程参数的设置,包括进程的运行环境,进程的运行权限等信息. 通过Python的os模块提供的接口,可以修改进程的环境变量,执行时的权限设置,用户ID,用户组ID的修改以及进程ID,进程组ID,附加组ID以及进程的会话ID的修改和获取,这些都是使用python进行系统编…
两个跟踪进程的linux命令 lsof -p pidstrace -p pid快速跟踪进程出现问题的地方.由于进程本身运行良好,但是内部一直等待第三方哪个应答,导致进程假死.引用自:http://linux.chinaunix.net/techdoc/net/2007/08/24/966264.shtmlstrace 命令 用途:打印 STREAMS 跟踪消息. 语法:strace [ mid sid level ] ... 描述:没有参数的 strace 命令将所有的驱动程序和模块中的所有 S…
目录 . 引言 . Linux进程 . Linux命名空间 . Linux进程的相关标识 . 进程标识编程示例 . 进程标志在Linux内核中的存储和表现形式 . 后记 0. 引言 在进行Linux主机的系统状态安全监控的过程中,我们常常会涉及到对系统进程信息的收集.聚类.分析等技术,因此,研究Linux进程原理能帮助我们更好的明确以下几个问题 . 针对Linux的进程状态,需要监控捕获哪些维度的信息,哪些信息能够更好地为安全人员描绘出黑客的入侵迹象 . 监控很容易造成的现象就是会有短时间内的大…
进程组 每个进程除了有个进程id外,还属于一个进程组.进程组是一个或者多个进程的集合.通常他们与同一个作业相关联,可以接受来自同一终端的信号.进程组id等于其进程组长id.进程组的终止与进程组长是否存在无关,只要有一个成员进程存在,那么这个进程组就存在. 作业 shell分前后台进行控制的不是进程而是作业或者进程组.一个前台作业可以由多个进程组成,一个后台作业也可以由多个进程组成.shell可以运行一个前台作业和多个后台作业,这称为作业控制. 作业与进程组的区别:如果一个作业中的某个进程创建了一…
1. server/sandbox.go // RunPodSandbox creates and runs a pod-level sandbox func (s *Server) RunPodSandbox(ctx context.Context, req *pb.RunPodSandboxRequest) (*pb.RunPodSandboxResponse, error) name := req.GetConfig().GetMetadata().GetName() namespace…
异常控制流 异常控制流(ECF)发生在计算机系统的各个层次 在硬件层,硬件检测到的事件会触发控制突然转移到异常处理程序. 在操作系统层,内核通过上下文转换将控制从一个用户进程转移到另一个用户进程. 在应用层,一个进程可以发送信号到另一个进程,而接收者会将控制突然转移到它的一个信号处理程序. ECF是操作系统用来实现I/O.进程和虚拟存储器的基本机制. 应用程序通过使用陷阱(trap)或者系统调用的ECF形式,向操作系统请求服务. ECF是计算机系统中实现并发的基本机制. 异常 异常就是控制流中的…
原文地址为:http://www.ibm.com/developerworks/cn/linux/l-ipc/part2/index2.html 原文为: 一.信号生命周期 从信号发送到信号处理函数的执行完毕 对于一个完整的信号生命周期(从信号发送到相应的处理函数执行完毕)来说,可以分为三个重要的阶段,这三个阶段由四个重要事件来刻画:信号诞生:信号在进程中注册完毕:信号在进程中的注销完毕:信号处理函数执行完毕.相邻两个事件的时间间隔构成信号生命周期的一个阶段. 下面阐述四个事件的实际意义: 信号…
期中之后的第一个lab 就是实现一个简单的Shell 程序,程序的大部分已经写好,只需要实现 eval 函数和处理信号的sigchld_handle, sigint_handle, sigtstp_handle这三个函数. 这个lab 主要要求处理好各个信号,因为上课的时候一直听得很糊涂,就拖着没有写,直到这两天deadline逼近才动手.同样是时间紧迫,debug的时候出了很多问题,在网上搜了很多解答,但是因为题目版本不一样,并不完全适用,比如之前的不需要重定向.因此把自己写的代码也贴出来,最…
常用的Linux系统调用命令   下面一些函数已经过时,被新的更好的函数所代替了(gcc在链接这些函数时会发出警告),但因为兼容的原因还保留着,这些函数将在前面标上“*”号以示区别.   一.进程控制   fork 创建一个新进程 clone 按指定条件创建子进程 execve 运行可执行文件 exit 中止进程 _exit 立即中止当前进程 getdtablesize 进程所能打开的最大文件数 getpgid 获取指定进程组标识号 setpgid 设置指定进程组标志号 getpgrp 获取当前…
转自:http://blog.chinaunix.net/uid-26833883-id-3222794.html 1.fork() ,vfork() 创建进程 2‘ exec()类 在进程中执行其他的程序 3‘wait(),waitpid(),获取子进程结束的状态和处理僵尸进程 僵尸进程:如果子进程先于父进程结束,子进程就变成僵尸进程,(在父进程结束前一直都是),其进程号和栈等资源都没有回收. 如果父进程先于子进程结束,子进程的父进程变为init进程 一.进程的创建fork()函数  由 fo…
1.百度百科定义 unistd.h 是 C 和 C++ 程序设计语言中提供对 POSIX 操作系统 API 的访问功能的头文件的名称.该头文件由 POSIX.1 标准(单一UNIX规范的基础)提出,故所有遵循该标准的操作系统和编译器均应提供该头文件(如 Unix 的所有官方版本,包括 Mac OS X.Linux 等). 对于类 Unix 系统,unistd.h 中所定义的接口通常都是大量针对系统调用的封装(英语:wrapper functions),如 fork.pipe 以及各种 I/O 原…
Emacs 24.3出来好久了,但是在Debian 7里还是Emacs 23的版本. 以下是安装步骤(9步): -dev libncurses5-dev autoconf automake texinfo sudo apt-get build-dep emacs git clone git://git.savannah.gnu.org/emacs.gitcd emacs/ git checkout emacs-24.3 git checkout -b custom_branch ./autoge…
目录: 1. Linux系统调用原理 2. 系统调用的实现 3. Linux系统调用分类及列表 4.系统调用.用户编程接口(API).系统命令和内核函数的关系 5. Linux系统调用实例 6. Linux自定义系统调用 1.系统调用原理 系统调用,顾名思义,说的是操作系统提供给用户程序调用的一组“特殊”接口.用户程序可以通 过这组“特殊”接口来获得操作系统内核提供的服务,比如用户可以通过文件系统相关的调用请求系统打开文件.关闭文件或读写文件,可以通过时钟相关的系统调 用获得系统时间或设置定时器…
Python OS模块标准库的系统接口及操作方法 os.name 返回当前操作系统名,定义了'posix','nt','mac','os2','ce','java'(我使用win7/python3.1,输出的是nt.posix不知道是什么系统,mac应该是Apple机吧,os2也不知道是什么东东,ce应该是winCE吧,这样的话,python应该支持向CE移植啊,偶自己试过,没编译成功,java估计是Sun开发的那个solari*系统) os.environ 返回一个mapping object…
一.定义和理解 狭义定义:进程是正在运行的程序的实例. 广义定义:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动. 进程的概念主要有两点: 第一,进程是一个实体.每一个进程都有它自己的地址空间,一般情况下,包括文本区域.数据区域和堆栈区域.文本区域存储处理器执行的代码:数据区域存储变量和进程执行期间使用的动态分配的内存:堆栈区域存储着活动过程调用的指令和本地变量. 第二,进程是一个“执行中的程序”.程序是一个没有生命的实体,只有处理器赋予程序生命时,它才能成为一个活动的实体,我们…
转自Linux系统调用列表 一.进程控制: fork 创建一个新进程 clone 按指定条件创建子进程 execve 运行可执行文件 exit 中止进程 _exit 立即中止当前进程 getdtablesize 进程所能打开的最大文件数 getpgid 获取指定进程组标识号 setpgid 设置指定进程组标志号 getpgrp 获取当前进程组标识号 setpgrp 设置当前进程组标志号 getpid 获取进程标识号 getppid 获取父进程标识号 getpriority 获取调度优先级 set…
(一) strace 命令   用途:打印 STREAMS 跟踪消息. 语法:strace [ mid sid level ] ... 描述:没有参数的 strace 命令将所有的驱动程序和模块中的所有 STREAMS 事件跟踪消息写到它的标准输出中. 这些消息是从 STREAMS 日志驱动程序中获取的.如果提供参数,它们必须是在三元组中.每个三元组表明跟踪消息要从给定的模块或驱动程序.子标识(通常表明次要设备)以及优先级别等于或小于给定级别的模块或驱动程序中接收.all 标记可由任何成员使用,…