Linux☞进程控制

在终端执行命令时,Linux会建立进程,程序执行完,进程会被终止;Linux是一个多任务的OS,允许多个进程并发运行;

Linxu中启动进程的两种途径:

①手动启动(前台进程(命令gedit)...后台进程(命令+‘&’))

②调度启动   --at/cron启动

at执行的命令一般不会在终端回显,可以采用重定向到文件就可以查看;

Linux环境下常见的进程操作命令:

ps--查看系统中的进程;

top--动态显示系统中的进程;

kil--终止进程(包括后台进程);

Linux环境下的进程会有一个唯一的进程标识符(pid),进程标识有进程号PID和它的父进程号PPID,PID唯一标识一个进程,其中,PID和PPID都是非零正整数。获得当前进程的PID和PPID的系统调用是getpid()和getppid()函数【头文件unistd.h】;

ps -ef|grep test1   (可以查找程序test1.c运行时的进程号);

3个特殊进程:

PID为0的调度进程,是内核的一部分,也被称为交换进程和系统进程;

PID为1的init进程(centos6及之前版本),init进程是内核启动并运行的第一个用户进程(不是内核中的系统进程),负责对系统进行初始化,并将系统引导到某个状态。init进程不能被终止

 PID为2的kthreadd内核进程,其是一个内核线程,负责执行后台操作。

进程相关函数: 

exec函数族--在进程中启动另一个程序执行;

system--在进程中开始另一个进程;

fork--从已经存在的进程中复制一个新进程

sleep--让进程暂停运行一段时间;

exit/_exit--用来终止进程

wait/waitpid--暂停父进程,等待子进程完成运行;

Fork函数

 进程调用一次fork函数创建一个新进程,新创建的新进程被称为子进程。该函数调用一次但是返回两次,子进程返回值是0,父进程返回新的子进程的pid。父、子进程并不共享这些存储空间部分,通常父、子进程共享代码段;子进程继承父进程的以下属性:已打开的文件描述符 实际UID、GID,有效UID、GID 当前工作目录 根目录 文件创建UMASK 环境 资源限制

exec函数族

例6-3:用fork函数创建一个子进程,在子进程中。要求显示子进程号和父进程号,然后显示当前目录下的文件信息,在父进程中同样显示子进程号和父进程号;

#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值