Linux中的程序和进程,PID和PPID
2015-09-20 15:00
274 查看
环境:Vmware Workstation;CentOS-6.4-x86_64
程序和进程:
1、程序:程序是静止的,程序就是磁盘上的一个文件。
2、进程:进程是一个正在执行的程序的实例。
3、进程是动态的。
4、一旦程序被操作系统加载进内存了,那么这程序就成为了进程。
PID和PPID:
1、PID(process ID):
PID是程序被操作系统加载到内存成为进程后动态分配的资源。
每次程序执行的时候,操作系统都会重新加载,PID在每次加载的时候都是不同的。
2、PPID(parent process ID):PPID是程序的父进程号。
3、PID和PPID都是非零的整数。
4、PID是唯一的,一个PID只标识一个进程。
5、一个进程创建的另一个新进程称为子进程。相反地,创建子进程的进程称为父进程。
6、对于一个普通的用户进程,它的父进程就是执行它的哪个Shell,对于Linux而言,Shell就是bash。
7、bash所在的目录:[negivup@localhost bin]$ cd /bin | ls bash
特别说明:
1、所有进程追溯其祖先最终都会落到进程号为1的进程身上,这个进程叫init进程
2、init进程是linux内核启动后第一个执行的进程。
3、init引导系统,启动守护进程并且运行必要的程序。
获取PID和PPID的函数:
1、得到进程的PID:pid_t getpid(void);
2、得到进程的PPID:pid_t getppid(void);
通过程序获取当前程序的PID和PPID:
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
int main(int argc, char *args[])
{
// 获取当前进程的PID
pid_t pid = getpid();
printf("pid = %d\n", pid);
// 获取当前进程的PPID
pid_t ppid = getppid();
printf("ppid = %d\n", ppid);
return 0;
}
PS:根据传智播客视频学习整理得出。
程序和进程:
1、程序:程序是静止的,程序就是磁盘上的一个文件。
2、进程:进程是一个正在执行的程序的实例。
3、进程是动态的。
4、一旦程序被操作系统加载进内存了,那么这程序就成为了进程。
PID和PPID:
1、PID(process ID):
PID是程序被操作系统加载到内存成为进程后动态分配的资源。
每次程序执行的时候,操作系统都会重新加载,PID在每次加载的时候都是不同的。
2、PPID(parent process ID):PPID是程序的父进程号。
3、PID和PPID都是非零的整数。
4、PID是唯一的,一个PID只标识一个进程。
5、一个进程创建的另一个新进程称为子进程。相反地,创建子进程的进程称为父进程。
6、对于一个普通的用户进程,它的父进程就是执行它的哪个Shell,对于Linux而言,Shell就是bash。
7、bash所在的目录:[negivup@localhost bin]$ cd /bin | ls bash
特别说明:
1、所有进程追溯其祖先最终都会落到进程号为1的进程身上,这个进程叫init进程
2、init进程是linux内核启动后第一个执行的进程。
3、init引导系统,启动守护进程并且运行必要的程序。
获取PID和PPID的函数:
1、得到进程的PID:pid_t getpid(void);
2、得到进程的PPID:pid_t getppid(void);
通过程序获取当前程序的PID和PPID:
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
int main(int argc, char *args[])
{
// 获取当前进程的PID
pid_t pid = getpid();
printf("pid = %d\n", pid);
// 获取当前进程的PPID
pid_t ppid = getppid();
printf("ppid = %d\n", ppid);
return 0;
}
PS:根据传智播客视频学习整理得出。
相关文章推荐
- Linux各个版本资源下载
- Linux开启mysql远程连接的设置步骤
- V微软S2015下载:开展Win10/Linux/iOS多平台软件
- Linux下执行C语言函数system
- Linux的开机启动过程
- Linux下的目录操作
- php5.4.42 centos5 安装
- 嵌入式Linux系统内核Kernel(裁减移植)启动调试技术(回顾)
- centos 6.4 源更新
- linux查看硬件的命令详解
- shred_linux_unix
- Linux下文件的复制、移动与删除
- 20135328信息安全系统设计基础第一周学习总结(Linux应用)
- Linux终端操作MySQL常用命令
- 【Linux导论】Linux哲学(Linux philosophy)
- Linux下实现文件拷贝(代码保留)
- 实验一linux 系统简介和实验二基本概念及操作
- CentOS 7.0安装Nvidia驱动
- linux进程间通讯的几种方式的特点和优缺点,和适用场合
- Linux函数stat说明