一个程序的父进程可以用PPID来判断
 
命令ps -l 可以用来观察程序相关的输出信息
 
被关闭的程序又产生:crontab或者父进程产生的
 
我们将常驻在系统中的程序称为:服务(daemon)
负责系统本身所需的服务:crond,atd
负责网络连线的服务:Apache,named,postfix,vsftpd..等,这些服务会启动一个端口负责网络监听,提供外部用户端的连线要求
 
linux中,预设了六个文字界面登入视图,一个图形界面,可以使用Alt+F1.../F7进行切换
 
ps -aux查看所有进程
cp file1 file2 & 将file1复制为file2,且放置于背景中执行
 
工作管理(job control)是用在自己的bash环境下的进行的
前景:可以控制与下指令的环境
背景:可以自行运作,不能通过ctrl+c终止,可使用bg/fg呼叫该工作
 
直接将指令丢到背景中执行 "&",可以通过资料流重定向来防止背景进程的输出对前景进程的影响
将‘目前’工作丢到背景中‘暂停’ crtl+z
 
观察目前的背景工作状态:jobs [-lrs]
选项与参数:
-l  处理列出job mumber与指令串之外,通过列出pid的号码
-r  仅列出正在背景运行(run)的工作
-s  仅列出正在背景中暂停(stop)的工作
输出列中的+号代表最后被放入到后台的工作,如果输入fg命令,它会拿到前景进行处理
          -号代表倒数第二个放置到背景的工作
 
把背景进程拿到前景处理:fg %jobnumber
让在背景暂停的任务运行:bg %jobnumber
 
管理背景进程: kill -signal %jobnumber
-l:L的小写,列出目前kill能够使用的讯号有哪些
signal:代表能给予后面的工作什么样的指示,用man 7 signal可知:
-1:重新读取参数,类似reload
-2:代表由键盘输入,ctrl+c一样的动作
-9:立刻强制删除一个工作
-15:以正常的程序方式终止一项工作
kill后面接的数字预设是PID,如果要管理bash的工作,要加上%数字了
选项与参数: %jobnumber:jobnumber为工作号码(数字),%号可有可无
 
刚刚说的背景进程依旧与终端机有关,如果离线了,将会被终止掉
 
可以使用at将工作放置到系统背景,而与终端机无关
nohup可以在离线时,让工作继续进行
nohup [指令与参数]  在终端机前景中工作
nohup [指令与参数]  & 在终端机背景中工作
 
 
将某个时间点的程序运作情况取下来:ps
参数与选项:
-A:所有的process均显示出来,与-e具有相同的效果
-a:不与terminal有关的所有process
-u:有效使用者相关的process
x :通常与a一起使用,可列出交完整资讯
输出格式设置:
l:较长,较详细的将该PID得资讯列出
j:工作的格式(jobs format)
-f:做一个更完整的输出
 
仅观察自己bash相关程序:ps -l
F:代表程序的权限,常见的号码有:4,表示此程序的权限为root
                                1,表示此子程序仅进行复制(fork)而没有实际执行(exec)
S:代表这个程序的状态,主要状态有:R,Running,运行中
                                  S,Sleep,睡眠状态
                                  D,不可被唤醒的睡眠状态,通常这支程式在等待I/O的情况
                                  T,stop,停止状态,可能是在工作控制(背景暂停)或除错(traced)状态
                                  Z,Zombie,僵尸状态,程序已经停止但无法被移除记忆体
UID:此程序被该UID所拥有
PID:程序的PID号码
PPID:此程序的父程序PID号码
C:代表CPU使用率,单位为百分比
PRI/NI:Priority/Nice的缩写,代表此程序被CPU所执行的优先顺序,数值越小代表该程序越快被执行
ADDR/SZ/WCHAN:ADDR是kernel function,指出该程序在记忆体的那个部分,如果是running,会显示-
              SZ代表此程序用掉多少记忆体
              WCHAN表示程序是否在运行中,如果是running则显示为-
TTY:登入者的终端位置,若为远端登入则使用动态终端界面pts/n
TIME:使用掉的cpu时间,而不是系统时间
CMD:造成此程序的指令
 
动态观察程序的变化:top [-d 数字] |top [-bnp]
-d:后面直接接秒数,设置显示的更新描述,预设是5秒
-b:以批次的方式执行top,通常会搭配资料重导向将批次的结果输出为档案
-n:与-b搭配,需要进行几次top的输出
-p:指定某些pid来进行监视
 
在top执行过程中可以使用的按键指令:
?:显示在top当中可以输入的按键指令
P:以CPU的使用资源排序显示
M:以Memory的使用资源排序显示
N:以PID来排序
T:由该process使用的cpu时间累积(TIME+)排序
k:给予某个PID一个讯号signal
r:给予某个PID重新制订一个nice值
q:离开top软体的按键
 
top默认使用CPU的使用率作为排序的重点
我们自己的bash PID可由$$变量取得,echo $$
 
 
pstree [-A|U][-up]
-A:各程序树之间的连接以ASCII字元来连接
-U:各程序树之间的连接以万元码的字元来连接,在某些终端界面下可能会有错误
-p:列出每个proces的PID
-u:列出每个process所属账号名称
 

通过给程序一个讯号(signal)告诉程序你想要她做什么

kill -signal PID
killall -signal 指令名称
killall [-iIe] [command name]
-i:interactive的意思,互动式的,若要删除时,会提示字元给使用者
-e:exact,表示后面接的command name要一致,但整个完整的指令不能超过15个字元
-I:指令名称(可能含参数)忽略大小写

通过档案(或档案系统)找出正在使用该档案的程序:fuser
fuser [-umv] [-k[i][-signal]] file/dir
-u:除了程序的PID之外,同时列出该程序的拥有者
-m:后面接的那个档名会主动地上提到该档案系统的最顶层,对umount不成功很有效
-v:可以列出每个档案与程序还有指令的完整相关性
-k:找出使用该档案/目录的PID,并试图以SIGKILL这个讯号给予该PID
-i:必须与-k配置,在删除PID前先询问使用者意愿
-signal:如-1,-15等,默认是SIGKILL (-9)

 
查出某个程序开启或者使用的档案与装置:lsof [-aUu][+d]
-a:多项资料需要‘同时成立’才显示结果
-U:仅列出Unix like系统的socket档案类型
-u:后面接username,列出该使用者相关程序所开启的档案
+d:后面接目录,亦即找出某个目录底下已经被开启的档案
 
找出某个正在执行的程式的PID:pidof [-sx] program_name
-s:仅列出一个PID而不是所有的PID
-x:同时列出该grogram name可能的PPID那个程序的PID

linux 之程序管理的更多相关文章

  1. linux备忘录-程序管理与SELinux

    知识点 程序与程序(Process and Program) 通过执行一条指令或程序,则可以触发一个事件,并获得一个PID.当我们需要启动一个程序时,我们是启动一个二进制文件(binary file) ...

  2. Linux软件管理器(如何使用软件管理器来管理软件)2---安装及管理Linux应用程序

    安装及管理Linux应用程序 Linux应用程序的组成1.普通的可执行程序文件,一般保存在/usr/bin目录中,普通用户即可执行.2.服务器程序.管理程序文件,一般保存在/usr/sbin目录中,需 ...

  3. 鸟哥的linux私房菜——第十六章学习(程序管理与 SELinux 初探)

    第十六章.程序管理与 SE Linux 初探 在 Linux 系统当中:"触发任何一个事件时,系统都会将他定义成为一个程序,并且给予这个程序一个 ID ,称为 PID,同时依据启发这个程序的 ...

  4. Linux堆内存管理深入分析(上)

    Linux堆内存管理深入分析(上半部) 作者:走位@阿里聚安全   0 前言 近年来,漏洞挖掘越来越火,各种漏洞挖掘.利用的分析文章层出不穷.从大方向来看,主要有基于栈溢出的漏洞利用和基于堆溢出的漏洞 ...

  5. windows下运行的linux服务器批量管理工具(带UI界面)

    产生背景: 由于做服务器运维方面的工作,需要一人对近千台LINUX服务器进行统一集中的管理,如同时批量对LINUX服务器执行相关的指令.同时批量对LINUX服务器upload程序包.同时批量对LINU ...

  6. [20150513]Linux远程登陆管理以及Vim的学习

    Linux远程登陆管理以及Vim的学习 实现Linux远程管理 所需工具Xshell,Xshell是一个用于MS Windows平台的强大的SSH,TELNET,和RLOGIN终端仿真软件.它使得用户 ...

  7. [linux笔记]理清linux安装程序用到的(configure, make, make install)

    我作为一名经常和linux打交道的程序员,每次在linux安装软件都祈求可以用——apt-get,yum,brew等应用程序管理器安装,有的时候事与愿违,你只能自己编译安装-wtf,说好的美丽世界呢? ...

  8. linux 下用户管理

    linux 下用户管理 一.用户的分类 1.超级用户:root UID=0 2.系统用户:不需要登录系统,对应用程序服务,主要维护系统的正常运行:UID = 1 ~ 499(RHEL7 = 1 ~ 9 ...

  9. 深入理解Linux中内存管理

    前一段时间看了<深入理解Linux内核>对其中的内存管理部分花了不少时间,但是还是有很多问题不是很清楚,最近又花了一些时间复习了一下,在这里记录下自己的理解和对Linux中内存管理的一些看 ...

随机推荐

  1. Mac 安装Eclipse

    1.下载 1.1.网址 http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/mar ...

  2. 配置Log4J(转载)

    Log4J的配置文件(Configuration File)就是用来设置记录器的级别.存放器和布局的,它可接key=value格式的设置或xml格式的设置信息.通过配置,可以创建出Log4J的运行环境 ...

  3. IE6滤镜在实战测试中能让父层里面的子元素产生阴影

    1.写法一: <div class="cornerbg">    <p class="title-file">------</p& ...

  4. UED大全

    http://www.baiduux.com/  百度UFOhttp://ued.sohu.com/  搜狐UEDhttp://ued.taobao.com/  淘宝UEDhttp://www.ued ...

  5. 制作一个功能丰富的Android天气App

    简易天气是一个基于和风天气数据采用MD设计的Android天气App.目前的版本采用传统的MVC模式构建.通过丰富多彩的页面为用户提供日常所需的天气资讯. 项目说明 项目放在github上面 地址是: ...

  6. [css]《css揭秘》学习笔记(一)

    一.background-clip属性 <html> <head> <meta charset="utf-8"> <title>背景 ...

  7. Got minus one from a read call异常

    Caught: java.sql.SQLException: Io 异常: Got minus one from a read call使用JDBC连接Oracle时,多次出现上述错误,后来去网上找了 ...

  8. 《微信小程序七日谈》- 第七天:不要捡了芝麻丢了西瓜

    <微信小程序七日谈>系列文章: 第一天:人生若只如初见: 第二天:你可能要抛弃原来的响应式开发思维: 第三天:玩转Page组件的生命周期: 第四天:页面路径最多五层?导航可以这么玩: 第五 ...

  9. Android安卓身份证识别SDK

    一.Android安卓身份证识别SDK应用背景 这些年,随着互联网金融的极速发展,第三方支付.理财.P2P网贷.征信等APP应用成爆发式的增长,在众多APP中都涉及到对身份证信息的录入,如第三方支付. ...

  10. 一个基于POI的通用excel导入导出工具类的简单实现及使用方法

    前言: 最近PM来了一个需求,简单来说就是在录入数据时一条一条插入到系统显得非常麻烦,让我实现一个直接通过excel导入的方法一次性录入所有数据.网上关于excel导入导出的例子很多,但大多相互借鉴. ...