您的位置:首页 > 运维架构 > Linux

linux学习笔记:程序管理

2015-01-04 13:57 225 查看
进程与程序





程序:通常为二进制程序放置在存储媒介中(如硬盘、光盘、软盘、磁带等),以物理文件的形式存在。

进程:程序被触发后,执行者的权限与属性、程序的程序代码与所需数据等都会被加载到内存中,操作系统并给与这个内存中的单元一个标识符,可以说,进程就是一个正在运行的程序。

子进程与父进程



fork and exec:过程调用的流程

在linux的过程调用中通常称为fork-and-exec的流程!进程都会通过父进程以复制(fork)的方式产生一个一模一样的子进程,然后被复制出来的子进程再以exec的方式来执行实际要进行的进程,最终成为一个子进程的存在。

其流程有点类似于下面这张图:



系统或网络服务:常驻内存的进程

例如:crond、atd、syslog等

工作管理

工作管理是用在bash环境下的,也就是说:当我们登录系统取得bash shell之后,在单一终端机下同时进行多个工作的行为管理。

在进行工作管理的行为中,其实每个工作都是目前bash的子进程,即彼此之间是有相关性的。我们无法以job control的方式由tty1的环境去管理tty2的bash。

要进行bash的job control必须要注意到的限制是:

1、这些工作所触发的进程必须来自于你shell的子进程(只管理自己的bash)

2、前台:你可以控制与执行命令的这个环境成为前台的工作

3、后台:可以自行运行的工作,你无法使用ctrl+c来终止它,可使用bg/fg调用该工作

4、后台中“执行”的进程不能等待terminal/shell的输入

job control的管理

&:将命令丢到后台中执行

ctrl+z:将目前的工作丢到后台中暂停

jobs:查看目前的后台工作状态

fg:将后台的工作拿到前台来处理

bg:让工作在后台下的状态变为运行中

kill:管理后台当中的工作

nohup:脱机管理

进程管理

ps aux:查看系统所有的进程

ps -l:查看自己的bash相关进程

ps axjf:类似进程树显示

top:动态查看进程的变化

pstree

free:查看内存使用情况

netstat:跟踪网络
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: