进程(Process):
●进程是系统正在执行的一个程序.
●除CPU外的资源分配外
●每个进程创建时,被系统赋予一个标识号,称进程id(PID)
●每个进程由其父进程(parent process)创建(0 进程除外),还可创建自己的子进程(child process) ,系统用ppid表示每个进程的父进程.
●我们可以查询当前shell(正在运行的程序)的进程号,输入以下命令
$echo $$ 可以查看进程 id
● 我们在系统提供的shell进程中可以通过执行命令的方式创建新的进程,每执行一次命令,系统就创建一个新的进程,当命令运行完毕后,该命令对应的进程也结束了.命令进程的父进程是当前的shell进程
父进程和子进程的关系如图
●我们在当前shell(pid=201)中执行ksh命令创建一个新的子进程(pid=206),在206号进程中执行date命令(pid=207),结束206号进程后.查看进程的id为201,又返回了login shell中.
●变量是进程环境的一部分
●进程不能访问和修改另一进程环境中的变量.
●一个收集了一组可执行命令的文本文件是shell script.例如:date,pwd,ls -l是系统的三条命令.如果系统中有一个叫script1的文本文件,它的内容就是这三条命令.那么script1就是一个shell script.
● 如果我们赋予一个shell script执行权限,我们可以通过上一页中方法来执行它,但这种方法执行时shell script文件对应命令所对应的进程是在当前shell的孙辈进程,这时该shell script文件中改变得系统变量都不会对当前shell起作用.如果我们希望shell script程序中的命令可以对当前shell其作用,那么我们可以这样执行
$. script1
| | |